0

假设创建了一个启用了 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 版,不需要保留、发布。这不正确吗?

请澄清

4

3 回答 3

2

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

于 2011-10-19T01:39:10.510 回答
0

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

于 2011-10-19T01:34:11.337 回答
0

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

于 2011-10-19T01:38:01.143 回答