2011-04-06 47 views
3
@interface first : <NSObject> { 
    NSString *myStr; 
    /** 
     I don't understand why declared this NSString *myStr. 
     Even if not declare NSString *myStr, this codes work well. 
    **/ 
} 
@property (nonatomic, retain) NSString *myStr; 

and Add @synthesize to first.m 

它是正確的,我不需要申報myStr中作爲一個實例變量,如果我總是用myStr的性質,即self.myStr?爲什麼在@interface聲明對象當使用@property在Xcode中4

+0

請改變你的問題的標題...... – 2011-04-06 19:51:03

回答

3

建立在現代運行時(用比較新的版本的Xcode,模擬器等),它沒有什麼區別因爲編譯器會爲你生成它。

注意與LLVM的最新版本,你甚至都不需要的合成;)

+0

哦,我見。謝謝! – Beomseok 2011-04-06 19:54:46

+2

值得注意的是,如果您的目標是Mac OS X 32位,那麼它們*不是*自動生成的,但是對於iOS和Mac 64位它們是。 – 2011-04-06 21:55:08

0

如果您使用LLVM編譯器則聲明實例變量誰的財產申報是可選的,因爲編譯器會自動

相關問題