废话不多说的咧!直接吃猪蹄!有开发ios5之前的版本的童鞋就知道在ios5以上(ios5不行,而且关键字weak没有提示,敲出来不会报错)的属性设置多了strong和weak这两个东东。有啥用呢有啥区别呢。简单的说呢就是为了支持ARC模式而生的(what's the ARC?that's right,here is the answer:代码中自动加入了retain/release,原先需要手动添加的用来处理内存管理的引用计数的代码可以自动地由编译器完成了,可以了吧!!!)。下面单独来讲下两个关键字:
1.strong(与retain作用类似,可以说是用来代替retain),下面代码说明一下:
@property (nonatomic, strong) NSString *tempStr1; @property (nonatomic, strong) NSString *tempStr2;然后声明一下:
@synthesize tempStr1; @synthesize tempStr2;
然后赋值调用:
self.tempStr1 = @"hello World"; self.tempStr2 = self.tempStr1; self.tempStr1 = nil; NSLog(@"tempStr2 = %@", self.tempStr2);运行结果:
tempStr2 = hello World2.weak(观察下与strong的区别):
@property (nonatomic, strong) NSString *tempStr1; @property (nonatomic, weak) NSString *tempStr2;
然后声明一下:
@synthesize tempStr1; @synthesize tempStr2;然后赋值调用:
self.tempStr1 = [[NSString alloc] initWithUTF8String:"hello World"];self.tempStr2 = self.tempStr1;self.tempStr1 = nil;NSLog(@"tempStr2 = %@", self.tempStr2);
好了暂时先那么多!