ios 6 LLVM 4.0 obj-c構文のいくつかの変化
1547 ワード
ios 6は新しいコンパイラLLVM 4.0を採用しており、objc構文の便利な小さな変更をもたらしています.
stringを生成する際、objcではNSString*s=@stringをよく使用します.stringの作成が便利になります.ios 6では、同様の構文を使用して、NSNumber、NSArray、NSDictionaryを宣言し、コードをより簡潔にすることができます.
NSNumber
以前にNSNuumberを宣言:
LLVM 4.0書き方:
NSArrayとNSDictionary
NSArrayの作成:
LLVM 4.0
NSArrayとNSDictionaryのデータの取得
以前はobjectAtIndexOfとobjectForKeyでしたが、
LLVM 4.0:
ios 5の場合、propertyを定義して自分で手動@synthesize p=p; LLVM 4.0は書き込み不要=p.コンパイラのデフォルト生成_pはインスタンス変数として使用されます.しかし、自分でsetterとgetterを実現した場合は、synthesizeを手動で追加する必要があります.
stringを生成する際、objcではNSString*s=@stringをよく使用します.stringの作成が便利になります.ios 6では、同様の構文を使用して、NSNumber、NSArray、NSDictionaryを宣言し、コードをより簡潔にすることができます.
NSNumber
以前にNSNuumberを宣言:
NSNumber *n = [NSNumber numberWithInt:3];
NSNumber *yesValue = [NSNumber numberWithBOOL:YES];
LLVM 4.0書き方:
NSNumber *n = @3;
NSNumber *yesValue = @YES ;
NSNumber *pi = @3.14F // double, F float
NSNumber *r = @3U // , U
NSArrayとNSDictionary
NSArrayの作成:
NSString *str1 = @"1";
NSString *str2 = @"2";
NSString *str3 = @"3";
NSArray *myArray1 = [NSArray arrayWithObjects:str1,str2,str3,nil];
LLVM 4.0
NSArray *myArray2 = @[str1,str2,str3];
NSDictionary *d = @[@"key1":@"value1",@"key2":@"value2",@"key3":@"value3"];
NSArrayとNSDictionaryのデータの取得
以前はobjectAtIndexOfとobjectForKeyでしたが、
LLVM 4.0:
NSArray *arrayOfIntegers = @[@1 ,@2,@3];
int i = arrayOfIntegers[1];
NSDictionary *d = @[@"key1":@"value1",@"key2":@"value2",@"key3":@"value3"];
int e = d[@"key1"];
ios 5の場合、propertyを定義して自分で手動@synthesize p=p; LLVM 4.0は書き込み不要=p.コンパイラのデフォルト生成_pはインスタンス変数として使用されます.しかし、自分でsetterとgetterを実現した場合は、synthesizeを手動で追加する必要があります.