OS中的新特性
int main(int argc, const char * argv[]) { @autoreleasepool { // 从Xcode4.5开始,提供了很多的新特性 // 1.NSNumber写法 // 第一种写法 NSNumber *charZ = [NSNumber numberWithChar:'Z']; // 这种新写法是不是很方便?当然啦! NSNumber *newCharZ = @'Z'; // 打印出 90 90 NSLog(@"%@ %@", charZ, newCharZ); // 同理,其它NSNumber型的都可以这么写法 NSNumber *floatNumber = @3.14f;// flost类型 NSNumber *doubleNumber = @3.14; // double类型 NSNumber *longNumber = @24521L; // long类型 NSNumber *longlongNumber = @123124214LL; // BOOL类型 需要大写 NSNumber *yesNumber = @YES; NSNumber *noNumber = @NO; // 2、NSArray写法 // 这是旧的写法 NSArray *array = [NSArray arrayWithObjects:@"1", @"2", nil]; // 这是新的写法,是不是很方便? NSArray *newArray = @[@"1", @"2"]; // 3、NSDictionary写法 // 这是旧的写法 NSDictionary *dict = [[NSDictionary alloc] initWithObjectsAndKeys: @"key1", @"value1", @"key2", @"value2", nil]; // 这是新的写法, 是不是很简洁了! NSDictionary *newDict = @{@"key1" : @"value1", @"key2" : @"value2"}; // 4、内套表达式 // @()这是最新版本的OC语法 // 等价于NSNumber *totalNumber = [NSNumber numberWithFloat:0.25f - 1.09f]; NSNumber *totalNumber = @(0.25f - 1.09f); // 等价于NSNumber *piNumber = [NSNumber numberWithFloat:M_PI / 2]; NSNumber *piNumber = @(M_PI / 2); // 5、使用property不用再手动调用@synthesize合成gettter/setter方法 // 之前是需要这么写法的 //@synthesize object = _object; // 现在较新的编译器会自动帮我们完成 } return 0; }
时间: 2024-11-04 11:30:02