我有一个NSArray
叫namesArray
.
我需要存储所有存在于namesArray
using中的名称coredata
。
我如何做到这一点?
我们是否需要像'names.sqlite'
使用 sqlite manager 一样创建任何数据库?
我有一个NSArray
叫namesArray
.
我需要存储所有存在于namesArray
using中的名称coredata
。
我如何做到这一点?
我们是否需要像'names.sqlite'
使用 sqlite manager 一样创建任何数据库?
不,您不需要创建names.sqlite
使用管理器。您应该阅读一些在网上找到的教程,例如:Here或Here。
您基本上需要以valueForKey
格式保存在数据模型中。
//Coredata saving
self.theAppDel=[[UIApplication sharedApplication] delegate];
NSManagedObjectContext*context=[self.theAppDel managedObjectContext];
NSManagedObject*object=[NSEntityDescription insertNewObjectForEntityForName:@"Contacts" inManagedObjectContext:context];
NSError*error=nil;
[object setValue:[namesArray objectAtIndex:0] forKey:@"name"]; //for saving first name
1.创建你的 appdelegate 的一个实例。
2.访问您的Managed Object Context
和Managed Object
3.假设您创建了一个带有姓名联系人的实体描述。根据数组中的项目数,为名为的列添加每个对象name
(我假设您已经创建了该列)。
这是一个简短的示例,但您应该阅读教程并阅读苹果的文档。
编辑:正如 Ondra 提到的,我之前的解决方案只会添加最后一个元素。使用以下添加:在 CoreData 中添加 NSMutableArray感谢Ondra Peterka
我认为 iNoobs 的答案不起作用 - 循环会多次覆盖该值(只会保存姓氏)。在每种情况下,阅读教程都是个好主意。也许您正在寻找的答案在这里:将 NSMutableArray 保存到核心数据
另外......我知道你明确地说“保存到核心数据”,但以防万一 - 你也可以使用不同的存储,如NSUserDefaults
:
[[NSUserDefaults standardUserDefaults] setObject:namesArray forKey:@"namesArray"];
并稍后使用以下方法检索它:
myArray= [[NSMutableArray alloc] initWithArray:[[NSUserDefaults standardUserDefaults] objectForKey:@"namesArray"]];
当然 NSUserDefaults 只用于少量数据。
祝你好运 ;)