macOS/iOS API解説

iOS , Mac アプリケーション開発のために使われる主要フレームワークの日本語情報です。2010年代に書かれた内容です。今後更新はありません。

目次

decodeValueOfObjCType:at:

INDEX>Foundation>NSCoder>

オブジェクティブCタイプの値をデコードします
-(void)decodeValueOfObjCType:(const char *)valueType:
               at:(void *)data:

解説

オブジェクティブCタイプの値をデコードします。

【valueType】
"i"または@encode(int) 整数
@encode(BOOL)

返り値

( void )

なし

引数

( const char * )valueType

値タイプ

( void * )data

データ

クラス

NSCoder

Instance Methods

使用可能

10.0

参照

- decodeArrayOfObjCType:count:at:
- decodeValuesOfObjCTypes:
- decodeObject

例文

#import "MyView.h"

@implementation MyView

//アンアーカイブするときの手順の記述
- (id)initWithCoder:(NSCoder *)decoder
{
    NSLog(@"initWithCoder");
    [super initWithCoder:decoder];
    [decoder decodeValueOfObjCType:@encode(int) at:&intVal];
    NSLog([NSString stringWithFormat:@"intVal = %d",intVal]);
    [decoder decodeValueOfObjCType:@encode(BOOL) at:&boolVal];
        if (boolVal){
            NSLog(@"YES");
        }else{
            NSLog(@"NO");
        }
    [decoder decodeArrayOfObjCType:@encode(float) count:1 at:&floatVal];
    
    
    return self;
}
//アーカイブするときの手順の記述
- (void)encodeWithCoder:(NSCoder *)encoder
{
    NSLog(@"encodeWithCoder");
    [super encodeWithCoder:encoder];
    [encoder encodeValueOfObjCType:@encode(int) at:&intVal];
    [encoder encodeValueOfObjCType:@encode(BOOL) at:&boolVal];
    [encoder encodeArrayOfObjCType:@encode(float) count:1 at:&floatVal];
    return;
}
@end