2 つのセクションを含む動的テーブル ビューがあり、それぞれに 4 つの行があり、それぞれに配列が設定されています。
1 つのセルのみをチェックする必要がありますが、現時点では何もチェックされていません。
チェックしたいセルのテキストを知っています。
私の質問は、セルに含まれるテキストに基づいて、セルのaccessoryTypeを設定できますか?
IF cell.textLabel.text equals THIS と同様に、そのセルの accessoriesType チェックを設定します。
どんな助けでも素晴らしいでしょう。
編集 編集 編集 編集
以下のコメントを考慮した、これまでのコードは次のとおりです。
switch (indexPath.section) {
case standardSection:
serverLoc.textLabel.text = [self.serverSelection objectAtIndex:indexPath.row];
if ([[self.serverSelection objectAtIndex:indexPath.row] rangeOfString:cellValue].location != NSNotFound) {
serverLoc.accessoryType = UITableViewCellAccessoryCheckmark;
}
break;
case qualitySection:
serverLoc.textLabel.text = [self.qServerSelection objectAtIndex:indexPath.row];
if ([[self.qServerSelection objectAtIndex:indexPath.row] rangeOfString:cellValue].location != NSNotFound) {
serverLoc.accessoryType = UITableViewCellAccessoryCheckmark;
}
break;
default:
break;
}
セクションは、次のように設定されています。
セクション 1:
イリノイ州シカゴ 英国ロンドン カリフォルニア州サンノゼ ワシントンDC
第2節:
イリノイ州シカゴ (Q) 英国ロンドン (Q) カリフォルニア州サンノゼ (Q) ワシントン DC (Q)
ご覧のとおり、CellValue の値をチェックしています。CellValue は、前のビューのデリゲートを使用して設定されます。
この時間がイギリスのロンドンに等しいとしましょう。このビューに入ると、London, UK と London, UK (Q) の両方がチェックされています。(Q) がチェックされていないものだけが必要です。「isEqualToString」を使用しても、これが発生しました。cellValue が英国のロンドン (Q) に等しい場合、これは機能します。