Cocoa API解説(macOS/iOS)

iOS , Mac アプリケーション開発のために使われる主要フレームワークの日本語情報です。

目次

encodeValueOfObjCType:at:

INDEX>Foundation>NSCoder>

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

解説

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

返り値

( void )

なし

引数

( const char * )valueType

値タイプ

( const void * )address

アドレス

クラス

NSCoder

Instance Methods

使用可能

10.0

参照

- encodeArrayOfObjCType:count:at:
- encodeValuesOfObjCTypes:

例文

#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