Iphone Objective-C核心数据:访问来自儿童的儿童的数据

Iphone Objective-C核心数据:访问来自儿童的儿童的数据,iphone,objective-c,ipad,core-data,Iphone,Objective C,Ipad,Core Data,我正在慢慢地为我的iPad应用程序找出核心数据,但我似乎不知道如何从我的应用程序中访问很多孩子(他们也有很多孩子)的数据。我希望从这里的专家那里得到一些代码示例 让我们使用一个简单的数据结构:Parent-(对多)->Child-(对多)->Toy 我可以很好地获取父对象,并获取其数据和子对象的NSSet。在那之后,我迷路了 1) 从一个孩子那里获取数据的代码是什么样子的(比如,获取NSSet中某个孩子的年龄或所有孩子的年龄) 2) 那么,我该如何获得一个特定儿童拥有的玩具的NSSet?(还假设

我正在慢慢地为我的iPad应用程序找出核心数据,但我似乎不知道如何从我的应用程序中访问很多孩子(他们也有很多孩子)的数据。我希望从这里的专家那里得到一些代码示例

让我们使用一个简单的数据结构:Parent-(对多)->Child-(对多)->Toy

我可以很好地获取父对象,并获取其数据和子对象的NSSet。在那之后,我迷路了

1) 从一个孩子那里获取数据的代码是什么样子的(比如,获取NSSet中某个孩子的年龄或所有孩子的年龄)

2) 那么,我该如何获得一个特定儿童拥有的玩具的NSSet?(还假设访问玩具数据与#1代码相同)

我真诚地感谢你的帮助!这应该更容易。。。不是吗

谢谢

如果该行:

NSSet *children = [parent children];
然后获取子对象的
NSSet

NSManagedObject *child = [[parent children] anyObject];
应该给你一个(随机)子对象。从这个对象,你应该能够

NSNumber *age = [child age];
NSSet *toys = [child toys];
还是我在问题中遗漏了什么?

1)所有孩子的年龄:
NSSet*ages=[parent.children valueForKey:@“age”

要获取特定子级,需要指定该子级。您可以只使用
[parent.children anyObject]
,但很可能您关心得到的答案,在这种情况下,您可以过滤集合。查看
NSSet
文档,特别是
filteredSetUsingPredicate
方法

2) 得到了你的孩子后,你只需索要它的
玩具
属性即可


比什么容易?

比。。。SQLlite还是平面数据库?谢谢你的帮助![parent.child anyObject]会返回NSManaged对象还是子对象?@Matt:取决于您的托管对象模型。默认情况下,它将是一个NSManagedObject。