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

时间:2011-10-19 01:28:53

标签: objective-c memory-management xcode4.2

假设已创建启用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"

我认为对于Xcode的4.2版本,不需要保留,需要发布。这不正确吗?

请澄清

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

如果您的项目是在Xcode 4.2之前制作的,那么您可以通过转到Build Settings,搜索Objective-C ++自动引用计数并勾选方框来启用它。