我在接口部分声明了一个 NSString:
@property (nonatomic, 保留) NSString *filePath;
在 viewDidLoad 我给它一个值,当我试图从我的一个自定义方法中调用它时,它第一次工作,但第二次它崩溃了。在我看来,filePath 在第一次通话期间自动释放。
我尝试了一种不同的方法,在我的方法中我做了这样的事情:
NSString *path = [[[NSString init] alloc] autorelease]; path = [文件路径副本];
这一次似乎有效,但是在检查路径的retainCount时它会不断增加。第一次调用该方法时,retainCount 为 4,但第二次为 2,第三次为 3,依此类推。
好的,我理解 filePath 会增加,因为 [copy] 但为什么还要用于路径变量?为什么在第一种情况下它不起作用?