可可绑定和宏

我在Interface Builder中有一堆绑定。当我想访问它时,我必须这样做,例如:
[[NSUserDefaults standardUserDefaults] integerForKey:@\"bINDDPagesTag\"]
而且我必须对其他绑定执行至少20次...所以,如果我对这些绑定使用
#define
是正常的,这是正常的:
#define kINDDPagesTag [[NSUserDefaults standardUserDefaults] integerForKey:@\"bINDDPagesTag\"]
#define kINDDRange [[NSUserDefaults standardUserDefaults] objectForKey:@\"bINDDRange\"]
#define kINDDBleedTop [[NSUserDefaults standardUserDefaults] objectForKey:@\"bINDDBleedTop\"]
#define kINDDBleedBottom [[NSUserDefaults standardUserDefaults] objectForKey:@\"bINDDBleedBottom\"]
#define kINDDBleedInside [[NSUserDefaults standardUserDefaults] objectForKey:@\"bINDDBleedInside\"]
#define kINDDBleedOutside [[NSUserDefaults standardUserDefaults] objectForKey:@\"bINDDBleedOutside\"]
#define kINDDSendData [[NSUserDefaults standardUserDefaults] objectForKey:@\"bINDDSendData\"]
它工作正常,但是我应该用这种方式吗?我有更好的办法吗? 谢谢!     
已邀请:
我从来没有那样做过,但是我看不出您的方法行不通的原因。但是,我认为创建静态实用程序类可能会更灵活,更可维护,例如:
@interface InterfaceConstants : NSObject {
}
+ (int)pagesTag;
+ (id)range;
//etc.
@end

@implementation InterfaceConstants
+ (int)pagesTag {
    return [[NSUserDefaults standardUserDefaults] integerForKey:@\"bINDDPagesTag\"];
}
+ (id)range {
    return [[NSUserDefaults standardUserDefaults] objectForKey:@\"bINDDRange\"];
}
//etc.
@end
    

要回复问题请先登录注册