判断ARC是否开启的代码
Here’s a quick code check for ARC (Automatic Reference Counting):
#if __has_feature(objc_arc) // ARC #else // No ARC #endif
以前声明属性 要这样
.h
@property (nonatomic, strong) NSString * username
.m
@synthesize username = _username;
现在只要
.h
@property (nonatomic, strong) NSString * username
以前
NSNumber*number=[NSNumbernumberWithInt:1];
NSArray*array=[NSArrayarrayWithObjects:@"one",@"two",nil];
NSDictionary*dict=[NSDictionarydictionaryWithObjectsAndKeys:@"value1",@"key1",@"value2",@"key2",nil];
现在只要
NSNumber*number = @1;
NSArray*array = @[@"one",@"two"];
NSDictionary*dict = @{@"key1":@"value1",@"key2":@"value2"};
以前
NSString *str= [arrayobjectAtIndex:0];
现在
NSString *str = array[0];
这样也可以 array[1] = @”VW Jetta”;
上述初始化数组的代码默认创建不可变数组。如果需要可变数组,则还需要进一步调用mutableCopy方法,创建可变数组。也一样
NSMutableArray *carMakes = [@[@"Chevy", @"BMW", @"Toyota", @"Volvo", @"Smart"]mutableCopy];
NSDictionary也一样,包括可变
NSDictionary *bookListing = {key1 : object1, key2 : object2, key3 : object3};
和数组一样,下标可用来访问字典项,如下使用key1下标来访问bookListing字典对象:
bookObject = bookListing[key1];
相同地,如下代码可更新bookListing字典对象中key2键所对应的对象值:
bookListing[key2] = newBookObject;