gpt4 book ai didi

javascript - 将对象添加到CPArray时抛出CPRangeException

转载 作者:行者123 更新时间:2023-12-03 13:38:18 26 4
gpt4 key购买 nike

在我的 Cappuccino 应用程序中,我正在通过JSON从RoR后端读取内容,并将结果放入列表中。当应用程序第一次加载时,一切都很好,但是当我编辑项目(并将编辑内容写入数据库)时,刷新项目列表时会生成错误。

错误是CPRangeException: -[_CPJavaScriptArray objectAtIndex:]: index (-1) beyond bounds (3)

即使我在没有进行任何实际更改的情况下编辑项目,也会出现此错误。在这种情况下,应用程序接收到的JSON字符串保持完全相同,没有添加或删除任何项目,因此不应将数组写到边界之外。

这是我的代码:

- (void)connection:(CPRURLConnection)connection didReceiveData:(CPString)data
{
if(connection === listConnection)
{
var results = JSON.parse(data) ;
var posts = [Post initFromJSONObjects:results];
[postListView setContent:posts] ;
// My error occurs at the above line
[postListView setSelectionIndexes:[[CPIndexSet alloc] initWithIndex:0]] ;
}
}

我不确定这是我的代码错误还是与 Cappuccino 框架存在某种不一致。有人知道我可以做些什么来解决此问题吗?

其余代码可以在 here中找到

最佳答案

设置之前,您可能应该只记录posts中的内容。 CPLog.info('posts: ' + posts);应该起作用,或者console.log(posts)。接下来,您可以在Chrome或Safari中设置“未捕获的异常中断”调试点,以在看到的实际错误处停止。确保使用index-debug.html运行应用,以便获得完整的方法名称。然后,查看调用堆栈以查看出现问题的地方应该是一件容易的事。有关调试Cappuccino应用程序here的信息很多。

关于javascript - 将对象添加到CPArray时抛出CPRangeException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9049888/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com