閱讀694 返回首頁    go 阿裏雲 go 技術社區[雲棲]


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


最後更新:2017-04-03 12:55:57

  上一篇:go Java中Comparable與Comparator的區別
  下一篇:go freopen重定向stdin與stdout後如何恢複正常