Во-первых, InAppSettingsKit - это то, что я искал.Как только я разберусь с некоторыми вещами, это сэкономит мне кучу времени.
Мой вопрос: как мне создать свой собственный магазин, создав подкласс IASKAbstractSettingsStore? home IASK заявляет:
Поведение IASK по умолчанию заключается в сохранении настроек в [NSUserDefaults standardUserDefaults].Однако это поведение можно изменить, установив свойство settingsStore в IASKAppSettingsViewController.
и
Самый простой способ создать собственное хранилище - создать подклассIASKAbstractSettingsStore.
Я потратил много времени на прочесывание кода, и мне кажется, я понимаю его основную структуру.Однако я не могу понять, как и что , чтобы установить для свойства settingsStore значение.
Я могусм. хранилище параметров, определенное и реализованное в IASKAppSettingsViewController:
id<IASKSettingsStore> _settingsStore;
и
- (id<IASKSettingsStore>)settingsStore {
if (!_settingsStore) {
_settingsStore = [[IASKSettingsStoreUserDefaults alloc] init];
}
return _settingsStore;
}
Я попытался создать подкласс IASKAbstractSettingsStore:
#import <Foundation/Foundation.h>
#import "IASKSettingsStore.h"
@interface IASKSettingsStoreMeals : IASKAbstractSettingsStore {
NSString * _filePath;
NSMutableDictionary * _dict;
}
- (id)initWithPath:(NSString*)path;
@end
изатем изменил свойство settingsStore IASKAppSettingsViewController для размещения и инициализации моего нового класса IASKSettingsStoreMeals вместо IASKSettingsStoreUserDefaults - единственный способ увидеть, как можно изменить свойство:
- (id<IASKSettingsStore>)settingsStore {
if (!_settingsStore) {
_settingsStore = [[IASKSettingsStoreMeals alloc] init];
}
return _settingsStore;
}
Когда я собираю и запускаю,При попытке первого элемента управления (тумблера) я получаю следующее сообщение, все остальные поля не сохраняются:
attempt to insert nil value at objects[0] (key: toggleSwitch)
Что я делаю не так?В дополнение к изменениям, необходимым для «перенастройки» кода для использования IASKSettingsStoreFile (или подкласса IASKAbstractSettingsStore), я также не вижу, где задать путь к файлу, изменить местоположение, в котором сохранены настройки - или это сделано засцены.С нетерпением ждем, чтобы пройти эту кривую обучения и использовать это.