我创建了包含第一个CategoryViewController和第二个CheckListTableController的StoryBoard segue应用程序。明智的类别(按钮)我在CheckListTableController的tableview上打开不同的问题列表。
我在tableView单元格中设置了检查和取消选中按钮及其各自的颜色。我已经使用NSMutableArray并将indexPath添加到此处以将特定颜色设置为单元格。
当我在这些控制器之间导航时,我希望我的tableView单元格颜色应该是保留的。
任何想法如何做到这一点。提前谢谢。
使用查询26Aug13
进行编辑现在我需要使用plist文件或Core数据来实现相同的功能。这样用户可以保存任务会话并在以后访问它。例如。在第一场比赛中,他检查了ABC建筑的取消选中标记然后保存了会话。第二节他再次对不同位置的XYZ大楼进行了检查/取消活动,然后保存了。
这里适合哪种方法。 Plist文件或核心数据?你能否将我重定向到具体的解决方案。
使用某些代码进行编辑
Catergory_ViewController.m
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if([segue.identifier isEqualToString:@"chkListTable"])
{
NSString *bldgArrayString = [[NSString alloc] initWithFormat:@"bldg"];
checkListTableViewController *chk= segue.destinationViewController;
chk.gotquestArrayString = bldgArrayString;
}
}
checkListTableViewController.m
- (void)viewDidLoad
{
[super viewDidLoad];
if ([gotquestArrayString isEqual:@"bldg"])
{
buildingQuest = [[NSMutableArray alloc]initWithObjects:@"Motor vehicles are not parked in the space",
@"Lightning protection system (Electronic)",
@"Lightning protection systems available on all buildings",
@"Reception facilities in order and not damaged",
}
}
//tableView button method where indexPath added to MutableArray
-(void)yesAction:(id)sender
{
arrayCheckUnchek = [[NSMutableArray alloc]init];
UIButton *button = (UIButton *)sender;
UITableViewCell *cell = (UITableViewCell *)button.superview.superview;
UITableView *curTableView = (UITableView *)cell.superview;
NSIndexPath *indexPath = [curTableView indexPathForCell:cell];
cell.backgroundColor = [UIColor greenColor];
[arrayCheckUnchek addObject:indexPath];
}
- (void)tableView: (UITableView*)tableView
willDisplayCell: (UITableViewCell*)cell
forRowAtIndexPath: (NSIndexPath*)indexPath
{
// UITableViewCell *Cell = [myChklist cellForRowAtIndexPath:indexPath];
if ([arrayCheckUnchek containsObject:indexPath])
{
cell.backgroundColor = [UIColor greenColor];
}
}
答案 0 :(得分:0)
1.当你更改了选择(选中/取消选中)时,你需要在Plist文件或UserDefaluts中保存你的NSMutable数组,你应该更新你的Plist或userdefaluts 2.在tableviewcontroller中的ViewWillApper方法中读取plist文件。并将此数据传递给“arraycheckuncheck”
希望它适合你
快乐的icoding ....