如何使用 Core Data 和 Objective-C 创建 NSManagedObjects 属性的简单数据库表?

问题描述 投票:0回答:1

我正在尝试使用 Core Data 和 Objective-C 创建一个简单的数据库记录表。我知道 NSManagedObject 的实例是我存储这些记录的地方,但是我可以在单个 NSManagedObject 中存储多少个实体记录?如果只有一个,那么如何声明具有唯一标识符的 NSManagedObjects 的多个实例,在本例中为“entityObj”,该标识符必须由用户在运行时提供?

在此示例中,MyEntity 包含三个 NSString 属性(城市、县、名称)。这是我声明 NSManagedObject 的方式。

 NSManagedObject *entityObj = [NSEntityDescription insertNewObjectForEntityForName:@"MyEntity" inManagedObjectContext:myContext];
    
    // fill the entityObj with data
    [entityObj setValue:@"Edmonton" forKey:@"city"];
    [entityObj setValue:@"Canada" forKey:@"country"];
    [entityObj setValue:@"Bill" forKey:@"name"];
     

这存储了一条数据记录,但我需要存储更多数据。如何在运行时指定“entityObj”的值?有没有一种方法可以将多个记录存储在单个 NSManagedObject 中?直觉上,我想我也许能够使我的 NSManagedObject 成为 MyEntity 记录的数组。 `

objective-c core-data
1个回答
0
投票

NSManagedObject
的每个实例都保存一个“记录”的数据。您可以根据需要在
NSManagedObject
中存储任意数量的
ManagedObjectContext
实例。

Core Data 中的最佳实践是为每种数据定义

NSManagedObject
子类,以允许类型检查并生成访问器。

© www.soinside.com 2019 - 2024. All rights reserved.