現在、コアデータを使用するためのカスタムIASKSettingsStoreを実装しています。以下のコードを見ることができます。問題は、値の保存が非常に遅くなることです。たとえば、テキストフィールドに何かを入力すると、IASKAppSettingsViewControllerがすべての変更を保存することはわかっていますが、1つの変更でも非常に遅いことがわかりました。どうすればこれをより速く動作させることができますか?
私は何を監督しますか?前もって感謝します。
これまでのところ、カスタムIASKSettingsStoreは次のようになっています。
@implementation GPSettingsStoreCoreData
@synthesize managedObject = _managedObject;
- (id)initWithManagedObject:(NSManagedObject *)managedObject {
self = [super init];
if( self ) {
_managedObject = managedObject;
}
return self;
}
- (id)init
{
if (self = [super init]) {
_managedObject = nil;
}
return self;
}
- (void)setBool:(BOOL)value forKey:(NSString*)key {
[self.managedObject setValue:[NSNumber numberWithBool:value] forKey:key];
}
- (void)setFloat:(float)value forKey:(NSString*)key {
[self.managedObject setValue:[NSNumber numberWithFloat:value] forKey:key];
}
- (void)setDouble:(double)value forKey:(NSString*)key {
[self.managedObject setValue:[NSNumber numberWithDouble:value] forKey:key];
}
- (void)setInteger:(int)value forKey:(NSString*)key {
[self.managedObject setValue:[NSNumber numberWithInt:value] forKey:key];
}
- (void)setObject:(id)value forKey:(NSString*)key {
[self.managedObject setValue:value forKey:key];
}
- (BOOL)boolForKey:(NSString*)key {
return [[self.managedObject valueForKey:key] boolValue];
}
- (float)floatForKey:(NSString*)key {
return [[self.managedObject valueForKey:key] floatValue];
}
- (double)doubleForKey:(NSString*)key {
return [[self.managedObject valueForKey:key] doubleValue];
}
- (int)integerForKey:(NSString*)key {
return [[self.managedObject valueForKey:key] intValue];
}
- (id)objectForKey:(NSString*)key {
return [self.managedObject valueForKey:key];
}
@end