IOS基础 第二课

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;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值