0

テーブルビューに5行(エンターテイメント、小売、健康、食品、サービス)があるテーブルビューを持つアプリケーションがあります。アプリケーションを最初に実行するときに、値 (エンターテイメント、小売、健康) を plist から取得し、値に応じてテーブルビューにチェックマークを表示する必要があります。

つまり、tableview コントローラーをクリックすると、デフォルトで最初の 3 行に plist から値をフェッチしてチェックマークが表示され、行をクリックして値を変更すると、その特定の値が plist 配列に保存されます。

4

2 に答える 2

1

各エントリのplistにbool値を保存するだけです。したがって、各エントリを2つの値を持つ辞書にします。1つはタイトルで、もう1つはブール値です。

または、plistに2つの配列を含めることもできます。1つはエントリのリストで、もう1つはboolの一致するリストです。

于 2012-04-26T12:57:27.197 に答える
1

このような構造を持つことができます plist の各値には辞書が含まれている必要があります。あなたの例のように、エンターテインメントはデフォルトで辞書になり、ブールフラグを辞書に追加できます。このようなもの

NSDictionary *entertainmentDictionary = [NSDictionary dictionaryWithObjectsAndKeys:@"Entertainment",@"name",[NSNUmber numberWithBool:YES],@"Checked",nil];

次に、テーブルに表示するときに、次のように辞書からboolフラグの値を取得できます

NSDictionary *entD = [arrayOfPlistItems objectAtIndex:indexPath.row];
BOOL checked = [[entD objectForKey:@"Checked"] boolValue];
//Not replace this with actual code it is for explaining purpose only
if(checked) {
    cell.accessoryType = checkmarktype;

}else {
  cell.accessoryType = none;
}

このことからご理解いただければ幸いです

于 2012-04-26T13:00:25.493 に答える