【发布时间】:2010-10-04 17:14:27
【问题描述】:
我正在使用 Fetch 从我的 sqlite 数据库中查询行并将结果加载到 NSMutableArray myDataArray 中。我想要做的是将 myDataArray 中的值存储到我的应用程序的首选项 plist 文件中。但是当我运行下面的代码时,出现以下错误:
[NSUserDefaults setObject:forKey:]: 尝试插入非属性值'( ...(注意:包含 50 行值) )' 的类 '__NSArrayM'。
我正在使用相同的方法将其他 NSMutableArrays 存储在我的 plist 文件中,但无法找到存储查询数据库结果的方法。
您可能会问:为什么要存储这些值,只是在我再次需要这些值时重新查询数据库?原因是我从数据库中提取随机行,我需要完全按照最初随机的方式调用这些行。
任何帮助表示赞赏, lq
...
fetchResults = [managedObjectContext executeFetchRequest:request error:&error];
self.myDataArray = [NSMutableArray arrayWithArray:fetchResults];
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
[userDefaults setObject:self.myDataArray forKey:kFetchResultsArray];
【问题讨论】:
标签: iphone xcode nsmutablearray nsuserdefaults fetch