0
我有一個Objective-C的NSMutableDictionary類的@interface部分內部聲明,與getter/setter方法,就像這樣:修改NSMutableDictionary實例變量的正確方法?
@interface myClass : NSObject
{
NSMutableDictionary *dict;
}
- (void) setDict: (NSMutableDictionary *) newDict;
- (NSMutableDictionary *) dict;
裏面的一些我@implementation方法,我想修改字典。我想堅持使用標準的Obj-C語言,並將其修改爲「正確」。是否可以使用getter而不是setter來修改它:
[[self dict] removeObjectForKey:@"myKey"];
......還是有更好的方法來做到這一點嗎?
我的印象是,你應該總是通過他們的Getter方法訪問變量,而不是直接訪問變量。不過,我對這門語言很陌生,所以我很可能在這方面有錯。 – 2009-09-08 14:43:46
在類自己的實現中使用訪問器方法通常不是(通常)必需的;當然,外部類應該使用訪問器方法。 – mipadi 2009-09-08 14:45:44
啊,優秀!謝謝! 雖然有必要在類自己的實現中使用accessor方法,但還是有問題嗎?是否會在你創建自己的自定義訪問器時做了一些奇怪的事情,比如每當讀取一個變量時增加一個計數器? – 2009-09-08 14:55:07