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