如何将plist值显示在tableview中作为复选标记?

时间:2012-04-26 12:41:46

标签: iphone objective-c

我有一个应用程序,其中我有tableview,其中有5行(娱乐,零售,健康,食品,服务)。当我最初运行我的应用程序时,我希望获取值(娱乐,零售,健康)应该取出我的plist并根据我想在我的tableview上显示复选标记的值。

换句话说,当我点击tableview控制器时,默认情况下,前3行应该通过从plist中获取值来显示复选标记,当我通过单击特定值应保存到plist数组的行来更改值时

2 个答案:

答案 0 :(得分:1)

只需在每个条目中保存plist中的bool值即可。所以我会让每个条目都有一个包含两个值的字典。一个是标题,另一个是bool值。

或者你可以在你的plist中有两个数组。一个是条目列表,另一个是bools的匹配列表。

答案 1 :(得分:1)

你可以有这样的结构plist的每个值都应该包含一个字典。在你的例子中,娱乐将是一个字典,默认你可以添加一个bool标志字典。像这样的东西

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;
}

希望你能从中理解