Objective c 在Xcode4.2内存管理上,需要澄清

Objective c 在Xcode4.2内存管理上,需要澄清,objective-c,memory-management,xcode4.2,Objective C,Memory Management,Xcode4.2,假设创建了启用ARC的新项目 @autoreleasepool { return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); } 以及以下声明: @property (nonatomic) NSString *classDescription; 为什么会 @synthesize classDescription; 错失 "Existing ivar 'classDescrip

假设创建了启用ARC的新项目

@autoreleasepool {
    return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
以及以下声明:

@property (nonatomic) NSString *classDescription;
为什么会

@synthesize classDescription;
错失

"Existing ivar 'classDescription' for unsafe_unretained propery 'classDescription must be _unsafe_unretained"
我认为对于4.2版的Xcode,不需要保留,也不需要发布版本。这不正确吗


请澄清

如果使用自动参考计数,则不需要保留/释放。这是现有项目还是新项目?默认情况下,新项目应该启用ARC。

如果您的项目是在Xcode 4.2之前创建的,那么您可以通过进入“生成设置”,搜索Objective-C++自动引用计数并勾选该框来启用它。

您需要将其设置为
strong
属性,以便ARC知道它应该保留对象。

这是一个新项目。启用ARC时。这就是为什么我发现看到这个错误很奇怪这是一个全新的项目,启用了ARC。这解决了这个问题,但是我想知道这是否在某个在线指南中被引用了?请链接ARC是否使NSString属性上的
copy
修饰符过时?