2012-10-01 141 views
3

我有拖放出口產生一個問題,因爲某些原因停止的Xcode產生@synthezise到.m文件,將@property正確添加到.h文件。Xcode的出口產生不產生@synthezise

此外,我覺得很奇怪,一個@interface塊添加到.m文件,甚至因此與@interface .h文件存在。

@interface BlahController { 

} 

@implementation BlahController : UIViewController { 
    //Code 
} 
+3

有100萬這個漂浮的問題,但基本上1)你不需要@synthesize可言了; 2)這是你的類擴展 - 一個接口只有您的m把私人的東西在這裏看到。所以這是一個功能,而不是字面上的錯誤。 –

+0

但是,如果沒有@synthezise語句,XCode不會識別變量,所以我不能像那樣運行代碼。這兩個功能都是ios6的新功能嗎? – dngfng

+0

nope它會編譯得很好。如果你的xCode版本足夠新,不會產生'@ synthesize',那麼它就足夠新以在沒有它的情況下拾取變量。嘗試清理項目,刪除派生數據等......應該沒問題。 – jackslash

回答

5

在高級謝謝卡爾Veazey,誰在評論中幾乎寫了這樣的回答:

  1. 的接口是私有變量。
  2. 「丟失」 @財產必須由_variableName訪問。再次

非常感謝。

+0

很高興幫助:) –

6

我有拖放出口產生一個問題,對於一些 原因的XCode生成停止向@synthezise .m文件中, @property正確添加到.h文件。

最新版本的編譯器不再需要@synthesize指令。除非您使用的@dynamic指令或提供自己的屬性訪問器僅定義使用@property指令的屬性是足以引起訪問器來合成。