このメソッドの反復がいつどのように機能するかをよりよく理解する必要があると思います。以下のコードは私の cellForRowAtIndexPath メソッドにあり、正常に動作します。その目的は、inList (配列) をチェックすることです。インデックス値が見つかった場合は、uiTableView セルのテキストを灰色表示にします。ただし、tableView (viewController の 2 つ離れた場所) からセルを編集して削除すると、インデックス整数がグレーアウトする値の配列に含まれなくなっても、コードはグレーから黒に更新されません.....そうではありませんこのメソッドは、このページをロードするたびに呼び出されますか、それともループ ロジックに欠陥がありますか? どうもありがとう。
if ([inList count] > 0) {
if([[[inList objectAtIndex:0] objectForKey:@"myIndex"] count] > 0) {
NSArray *myIndexList = [[inList objectAtIndex:0] objectForKey:@"myIndex"];
NSLog( @"data from INDEX !!!!!!!! %@", myIndexList);
for(int n=0; n<[myIndexList count]; n++)
{
if(indexPath.row == [[myIndexList objectAtIndex:n] integerValue])
{
cell.textLabel.textColor = [UIColor lightGrayColor];
}
}
}
}
else{
cell.textLabel.textColor = [UIColor blackColor];
}