我有一个应用程序,其中有 tableview,其中 tableview 中有 5 行(娱乐、零售、健康、食品、服务)。当我最初运行我的应用程序时,我希望从我的 plist 中获取值(娱乐、零售、健康),并根据我想在我的 tableview 上显示复选标记的值。
换句话说,当我单击 tableview 控制器时,默认情况下,前 3 行应通过从 plist 中获取值来显示复选标记,当我通过单击应将特定值保存到我的 plist 数组中的行来更改值时。
我有一个应用程序,其中有 tableview,其中 tableview 中有 5 行(娱乐、零售、健康、食品、服务)。当我最初运行我的应用程序时,我希望从我的 plist 中获取值(娱乐、零售、健康),并根据我想在我的 tableview 上显示复选标记的值。
换句话说,当我单击 tableview 控制器时,默认情况下,前 3 行应通过从 plist 中获取值来显示复选标记,当我通过单击应将特定值保存到我的 plist 数组中的行来更改值时。
只需在每个条目的 plist 中保存一个布尔值。所以我会让每个条目成为一个有两个值的字典。一个是标题,另一个是布尔值。
或者,您可以在 plist 中有两个数组。一个是条目列表,另一个是布尔匹配列表。
你可以有这样的结构 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;
}
希望你能从中明白