#import
@interface ViewController : UIViewController
@property(nonatomic,retain)NSString *string1;
@property(nonatomic,retain)NSString *string2;
@end
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
NSLog(@"%d",[self.string1 retainCount]);
NSLog(@"%d",[self.string2 retainCount]);
self.string1=[NSString stringWithFormat:@"test"];
NSString *s2=[NSString stringWithFormat:@"test"];
NSLog(@"%d",[s2 retainCount]);
NSLog(@"%d",[self.string1 retainCount]);
NSLog(@"%d",[self.string2 retainCount]);
self.string2=self.string1;
NSLog(@"%d",[self.string1 retainCount]);
NSLog(@"%d",[self.string2 retainCount]);
}
小弟一直对引用计数比较晕 打印的结果分别是 0 0 1 2 0 3 3
我很纳闷为什么
NSLog(@"%d",[s2 retainCount]);
self.string1=[NSString stringWithFormat:@"test"]; 这俩个引用计数为什么是 1 2 为什么不都是1
还有最后的俩句
NSLog(@"%d",[self.string1 retainCount]);
NSLog(@"%d",[self.string2 retainCount]); 我觉得 string2引用string1 那么string1的引用计数加1 string2的引用计数为什么是3了 求大神解答 太晕了