Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.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 Sortdescriptor导致replaceObjectAtIndex不再工作_Objective C_Nstableview_Nsarraycontroller_Nssortdescriptor - Fatal编程技术网

Objective c Sortdescriptor导致replaceObjectAtIndex不再工作

Objective c Sortdescriptor导致replaceObjectAtIndex不再工作,objective-c,nstableview,nsarraycontroller,nssortdescriptor,Objective C,Nstableview,Nsarraycontroller,Nssortdescriptor,以下代码在第一次调用时工作正常。但是,如果我删除排序,那么即使在第一次之后它也能工作。但一旦启用排序,我就无法替换关键字控制器中的值。(关键字Controller是NSArrayController) 基本上,最后一行代码导致第三行代码不再工作。为什么? --编辑-- 我猜keywordscontroller.content与keywordscontroller.arrangedobjects的顺序不同。但是,如果我尝试替换arrangedobjects中的某些内容,它将失败,并显示消息[\u

以下代码在第一次调用时工作正常。但是,如果我删除排序,那么即使在第一次之后它也能工作。但一旦启用排序,我就无法替换关键字控制器中的值。(关键字Controller是NSArrayController)

基本上,最后一行代码导致第三行代码不再工作。为什么?

--编辑--

我猜keywordscontroller.content与keywordscontroller.arrangedobjects的顺序不同。但是,如果我尝试替换arrangedobjects中的某些内容,它将失败,并显示消息
[\u NSControllerArrayProxy replaceObjectAtIndex:withObject:]:发送到实例的无法识别的选择器

根据要求,以下是araycontroller的日志:

content = (
    {
    keyword = female;
    order = "1.000000";
},
    {
    keyword = hat;
    order = "2.000000";
},
  //..
    {
    keyword = "looking at camera";
    order = "41.000000";
}

“我无法替换值”--错误消息?例外?无效索引?“我无法替换”的签名是什么?它没有达到你期望的效果?它什么都没有。没有错误消息,日志中没有任何内容,只是没有签名。。“order”中的值保持不变。我猜keywordscontroller.content的顺序与kwywordscontroller.arrangedobjects不同。但是,如果我尝试替换arrangedobjects中的某些内容,它将失败,并显示消息
[\u NSControllerArrayProxy replaceObjectAtIndex:withObject:]:发送到实例的无法识别的选择器
关键字controller.content的输出是什么?NSLog(@“content=%@”,关键字controller.content);您正在为此表使用绑定,而AC--绑定到表列?这将创建绑定到列的sortDescriptors。设置端口描述符可能会做一些奇怪的事情。
content = (
    {
    keyword = female;
    order = "1.000000";
},
    {
    keyword = hat;
    order = "2.000000";
},
  //..
    {
    keyword = "looking at camera";
    order = "41.000000";
}