iOS 语法新特性-modern syntax(iOS6后,Xcode4.4后,OS X 10.8.2后)
- (void)modernSyntax { /* 一、语法新特性NSNumber、NSArray、NSDictionary*/ // ---- NSNumber 新语法 ---- NSNumber *num = nil; // num = [NSNumber numberWithInt:1]; num = @1; // numberWithInt/numberWithShort num = @1u; // numberWithUnsignedInt/numberWithUnsignedShort num = @‘x‘; // numberWithChar/numberWithUnsignedChar num = @1l; // numberWithLong num = @1lu; // numberWithUnsignedLong num = @1ll; // numberWithLongLong num = @1llu; // numberWithUnsignedLong num = @1.1f; // numberWithFloat num = @1.234; // numberWithDouble num = @YES; // numberWithBool NSUInteger i = 1; num = @(i); //变量用新特性的时候用”()“包起来 //---- NSArray 新语法 ---- NSArray *array = nil; //array = [NSArray arrayWithObjects:@1, @2, @3, nil]; array = @[@1, @2, @3]; // 初始化(静态变量不能用新特性,旧方法也不行)//static NSArray *aa = @[@1, @2]; id obj0 = array[0]; // 获取子元素 // 遍历方法1 NSUInteger count = array.count; for (NSUInteger i=0; i<count; i++) { NSLog(@"%@", array[i]);// } // 遍历方法2 for (id obj in array) { NSLog(@"%@", obj); } // 遍历方法3 [array enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { if (*stop == NO) { NSLog(@"|idx:%@-obj:%@|", @(idx), obj); } }]; //---- NSDictionary 新语法 ---- NSDictionary *dic = nil; // dic = [NSDictionary dictionaryWithObjectsAndKeys:@0, @"key0", @1, @"key1", @2, @"key2", nil]; dic = @{@"key0":@0, @"key1":@1, @"key2":@2};// 初始化方法 id obj1 = dic[@"key0"];// 获取 //遍历 [dic enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) { if (*stop == NO) { NSLog(@"|key:%@-obj:%@|", key, obj); } }]; /* 二、synthesize*/ //写了@property不用再写@synthesize,Xcode自动合成 }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。