2009-06-25 53 views
5

我已經重寫了一個綜合屬性,因爲我想添加一個NSAssert。重寫Objectice-C中的合成屬性好還是壞?

這可以做(即覆蓋)或認爲不好的做法?

@synthesize someField; 

-(NSString*)someField { 
    NSAssert(someField != nil,@"someField"); 
    return someField; 
} 

感謝

回答

5

這很好。從documentation

你使用@synthesize關鍵字 告訴編譯器,它應該 合成setter和/或吸氣劑 方法的屬性,如果你不 的@implementation 塊內提供給他們。

所以,如果你提供它們,那麼編譯器將使用你的,而不管@synthesize指令。

+0

爲什麼你想要?使用現代(64位和iOS)運行時,這是創建ivars的便捷方式。 – 2011-06-03 07:03:20