我将Interface Builder中的arraycontroller(myArraycontroller)连接到由字典组成的数组(fileDictionariesArray)。这工作得很好,但是当我试图访问并列举在arraycontroller [myArrayController arrangedObjects]
的内容,我得到的含量为零,直到我编程方式添加内容到我的arrayController这样的:NSArraycontroller访问内容
[myArrayController addObjects:fileDictionariesArray];
我已经做到了我能后循环所有的内容。问题是数组(fileDictionariesArray)已被添加两次。一次通过IB绑定,一次通过addObjects。我只是不能访问arrayContoller,直到我以编程方式设置内容。我可以删除arrayController的内容,然后再编程设定这样的:
[myArrayController setContent:nil];
[myArrayController addObjects:fileDictionariesArray];
其中给出的arrayController项目的正确数目,但它似乎并不像正确的方式做到这一点。我会很感激任何人都可以给我一个暗示,如何通过arrainedObjects数组访问我的arrayController而不添加内容两次。
谢谢你的帮助。干杯,特隆德克里斯蒂安森
当你说你得到零的内容,何时/如何,你如何检查? – 2011-01-23 15:48:44
您在此之前的评论发生了什么?我调用[myArrayController addObjects:fileDictionariesArray];然后在那之后立即遍历arrayController的元素:for(NSDictionary * file in myArray){NSLog ...}。数组的数量应该是20,而第一个元素包含null的是21。我想这可能是我添加一个数组到一个空的或空的阵列控制器,由awakeFromNib初始化的结果? – 2011-01-23 15:52:44