Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 我的数组的父类_Objective C_Ios - Fatal编程技术网

Objective c 我的数组的父类

Objective c 我的数组的父类,objective-c,ios,Objective C,Ios,我有一个包含数组的对象 在没有coredate或数据库的情况下,如何从任何子级将关系建模回父级。我必须在子系统中显式存储父id吗?或者有没有一种方法可以获取此数组的父类?而无需子类化NSArray并添加额外的属性,我认为这是个坏主意,我想您有两种选择: NSArray * array = [[NSArray alloc]init]; id parrent = [array super]; 使索引0处的对象成为指向包含对象的指针 不要将数组直接存储在父对象中,而是将其存储在NSDictionar

我有一个包含数组的对象

在没有coredate或数据库的情况下,如何从任何子级将关系建模回父级。我必须在子系统中显式存储父id吗?或者有没有一种方法可以获取此数组的父类?

而无需子类化NSArray并添加额外的属性,我认为这是个坏主意,我想您有两种选择:

NSArray * array = [[NSArray alloc]init];
id parrent = [array super];
使索引0处的对象成为指向包含对象的指针

不要将数组直接存储在父对象中,而是将其存储在NSDictionary中,NSDictionary还包含一个@parent键,其中包含对父对象的引用

老实说,我不确定您在这里想要实现什么-您什么时候需要找到这些信息,而仅仅使用父对象本身并不能更好地完成这些工作

更新

我刚刚看到了另一个问题的答案:


关联引用听起来像是你所需要的?您可以将包含对象的引用与NSArray关联。不过,我对他们一无所知,我只是看到了答案并思考了这个问题

Objective-C与Qt和其他一些对象模型不同,它没有父子关系或所有权关系。是的,有时我们说保留对象的对象拥有该对象,但这更像是共享所有权,因为多个对象可以保留给定的对象,但没有一个所有者比其他所有者更具区分性,因此在普通的Objective-C模型中是父对象

首先要考虑的是,在这个多所有者环境中,您的父/子概念是否真的有意义。如果是这样的话,那么您需要自己维护子指针到父指针。

不,super是一个类似于self的关键字,而不是一个方法。在任何情况下,它都不引用包含的对象,而是引用数组的超类。