2011-10-19 69 views
0

假設與ARC一個新項目啓用創建在Xcode4.2內存管理,澄清需要

@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版本中,不需要保留,也不需要發佈。這是不正確的?

請說明

+0

ARC是否使NSString屬性上的'copy'修飾符過時? – Lukman

回答

2

您需要將其設置爲strong屬性,以便ARC知道它應該保留該對象。

+0

這解決了問題,但我不知道這是一些指南所引用某個地方?請鏈接 – JAM

0

如果您正在使用自動引用計數,則不需要保留/釋放。這是一個現有的項目還是新的項目?新項目應默認啓用ARC。

+0

這是一個新項目。隨着ARC啓用。這就是爲什麼我覺得這是奇怪地看到這個錯誤 – JAM

0

如果你的項目的Xcode 4.2之前提出的,那麼你可以去構建設置,搜索的Objective-C++自動引用計數,並勾選框啓用它。

+0

這是ARC一個全新的項目啓用 – JAM