私のカプチーノ アプリでは、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]] ;
}
}
それが私のコードのエラーなのか、それともカプチーノ フレームワークとの何らかの矛盾なのかはわかりません。これを修正するために私ができることを誰かが知っていますか?
残りのコードはここにあります