我们什么时候使用这个?它注册一个变量!我们可以使用iPhonedevwiki中给出的旧的简单方法来完成此操作,并添加一个观察者来观察偏好中所做的更改。但我看到一些调整使用HBPreferences而不是iPhonedevwiki中给出的方法。有人可以告诉我它是如何工作的,它比iPhonedevwiki中给出的方法更好吗?谢谢。
答案 0 :(得分:0)
您可以像这样使用
static NSString *const kHBCBPreferencesDomain = @"ws.hbang.cobalia";
static NSString *const kHBCBPreferencesEnabledKey = @"Enabled";
static NSString *const kHBCBPreferencesSwitchesKey = @"Switches";
static NSString *const kHBCBPreferencesSectionLabelKey = @"SectionLabel";
static NSString *const kHBCBPreferencesSwitchLabelsKey = @"SwitchLabels";
HBPreferences *preferences = [[HBPreferences alloc] initWithIdentifier:kHBCBPreferencesDomain];
[preferences registerDefaults:@{
kHBCBPreferencesEnabledKey: @YES,
kHBCBPreferencesSwitchesKey: @[ /* ... */ ],
kHBCBPreferencesSectionLabelKey: @YES,
kHBCBPreferencesSwitchLabelsKey: @YES
}];
添加观察员进行更改
void HBCBPreferencesChanged() {
//Will be called when changes occur
}
/* Call this function to register an observer */
void addObserver(){
CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(), NULL, (CFNotificationCallback)HBCBPreferencesChanged, CFSTR("ws.hbang.cobalia/ReloadPrefs"), NULL, kNilOptions);
}