17
我無法理解何時使用Objective C 2.0中的屬性。看起來你不需要一個原始類型的屬性,例如:int,bool,float。這是真的?我看過一些例子顯示這些類型的屬性,其他的將它們排除在外。例如,在蘋果公司的代碼示例他們有:對原始類型使用屬性
...
@interface Book : NSObject {
// Primary key in the database.
NSInteger primaryKey;
// Attributes.
NSString *title;
NSDate *copyright;
NSString *author;
BOOL hydrated;
BOOL dirty;
NSData *data;
}
@property (assign, nonatomic, readonly) NSInteger primaryKey;
// The remaining attributes are copied rather than retained because they are value objects.
@property (copy, nonatomic) NSString *title;
@property (copy, nonatomic) NSDate *copyright;
@property (copy, nonatomic) NSString *author;
...
Apple SQLite Book List Sample Code
所以你可以看到,他們不使用屬性BOOL,但他們對待它擁有遍佈實現文件的實例變量,讀取數值並設定數值。 在線搜索我已經找到了使用這些類型屬性的教程,例如:(@property BOOL flag)。有人能幫我解釋一下這個話題嗎?謝謝。
謝謝Marc.Yeah,我幾乎所有的東西都使用了屬性,只是通過我的課程進行清理,並確保它是正確的。我在我的問題中添加了指向我提到的Apple示例代碼的鏈接。但似乎他們直接訪問它(不通過self.dirty) – Sean 2009-01-08 16:59:04