English 中文(简体)
NSUserDefaults v. sqlite3
原标题:
  • 时间:2009-05-30 18:08:28
  •  标签:

我有一小 iPhone子,储存一份物体清单。 用户可以添加和删除物体,但这一清单仍然很小(大多数用户有10-30个物体)。 <代码>NSUserDefaults 似乎更容易与密码合作,但将加快? 只有30个“记录”才能出现任何明显差异?

最佳回答

NSUserDefaults是供用户选择的,通常是诸如NSString或NSNumber等基本物体。 Sqlite, 财产清单中物体的收集的序列,或核心数据,都是储存用户数据的有效选择,如你制造的模型物体。

你不会看到速度上的差别,但最好能为你的工作选择正确的机制。 如果它只是选择使用NSUserDefault,否则,我将把你的物体编为名单。 如果你重新加入科恰,我将避免核心数据,甚至首先避免 s,让他有机会首先学习基本知识。

问题回答

Try with NSCoding protocol. 1. 宣布贵国执行《国家统一议定书》的类别:

@interface Person : NSObject <NSCoding>

前线承诺采用以下方法:

-(id)initWithCoder:(NSCoder *)coder;
-(void)encodeWithCoder:(NSCoder *)coder;

你们的方法应当像:

-(void)encodeWithCoder:(NSCoder *)coder {
  [super encodeWithCoder:coder];
  [coder encodeObject:firstName forKey:@"firstName"];
  [coder encodeObject:lastName forKey:@"lastName"];
}

-(id)initWithCoder:(NSCoder *)coder {
  [super init];
  firstName = [[coder decodeObjectForKey:@"firstName"] retain];
  lastName = [[coder decodeObjectForKey:@"lastName"] retain];
  return self;
}




相关问题
热门标签