这是关于在我声明的接口部分中增加 NSString 类型变量的 d 保留计数值的以下程序
@property (strong,nonatomic)NSString *str1;
@property (strong, nonatomic)NSString *str2;
-(IBAction)goBtn:(id)sender;
和 ind 实现部分我定义如下
- (IBAction)goBtn:(id)sender {
self.str1=[[NSString alloc]init];
self.str1=self.str2;
self.str2=[self.str1 retain];
self.str2=[[NSString alloc]init];
self.str2=self.str1;
self.str1=[self.str2 retain];
self.str2=[self.str1 retain];
NSLog(@"retain count is %i", self.str1.retainCount);
NSLog(@"retain count of str2 is %i", self.str2.retainCount);
}
但输出是保留计数为 0 保留计数str2
为 0
为什么会这样??代码有什么问题吗???