我寫了一個預處理定義語句getter方法變化的#define參數
#define GetNSStringDefaultForPropertyWithNameAndKey(propertyName, propertyKey) - (NSString *)propertyName { return [[NSUserDefaults standardUserDefaults] objectForKey:_userDefaultsKey][propertyKey]; }
但做同樣的setter方法時卡住了,因爲我不得不修改propertyName的參數setPropertyName方法。
是否有辦法做這種參數修改。
編輯 我應該說這兩個定義都應該覆蓋編譯器生成的getter/setter方法。 但是,如果我得到了Matthias的權利,唯一的辦法就是提供像這樣的財產的大寫版本。
#define SetNSStringDefaultForPropertyWithNameAndKey(PropertyName, propertyKey) - (void)set ## PropertyName:(NSString *)newValue \
{ \
self.userDefaults[propertyKey] = newValue; \
[self updateUserDefaults]; \
} \
如果您在編輯代碼該問題請以實際工作的方式進行。你不能像這樣在多行上放置#define –