nsstring stringwithformat方式创建的nsstring的引用计数问题

1
2
3
NSString *string = [[NSString alloc] initWithFormat:@"Hello, World!"];
NSString *string1 = [NSString stringWithFormat:@"Hello, World!"];
NSLog(@"%tu-%tunn",CFGetRetainCount((__bridge CFTypeRef)(string)) ,CFGetRetainCount((__bridge CFTypeRef)(stringAutorelease)));

这段代码的输出结果是什么呢?
在ARC下运行结果为

1
1-2

[NSString stringWithFormat:@”Hello, World!”]和[[NSString alloc] initWithFormat:@”Hello, World!”]有什么区别?

解释:
NSString *string = [[NSString alloc] initWithFormat:@”Hello, World!”] 这个需要手动释放内存

NSString *string1 = [NSString stringWithFormat:@”Hello, World!”]; 是 autorelease的,不用需要手动释放内存

参考:
http://blog.sina.com.cn/s/blog_716de00901017tnh.html
https://www.cnblogs.com/zhangdashao/p/4444842.html