我创建了程序,在该程序中,我们从表格视图导航到选择一行表格视图的简单视图。我在简单视图上制作了四个复选框。我们可以轻松地标记它们。然后我们存储与标记的复选框相对应的信息在字符串中。我想在表格视图中访问这个字符串以在单元格上显示它。我没有使用对象获取它
问问题
36 次
3 回答
0
一种常见的方法是将对 tableview 控制器的引用存储在简单(详细)视图控制器的属性中。您将在实例化并将简单视图控制器推送到导航堆栈时设置此属性的值。选中复选框后,将字符串保存到 tableview 控制器上的属性中,然后再导航回 tableview。
粗略地说,您的代码将如下所示:
在您的表视图控制器 .h 中:
@property (strong, nonatomic) NSString *checkBoxValue;
在您的表视图控制器 .m 中:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
SimpleViewController *simpleVC = [[SimpleViewController alloc] init];
simpleVC.tableViewController = self;
[self.navigationController pushViewController:simpleVC animated:YES];
}
在您的简单视图控制器 .h 中:
@property (strong, nonatomic) YourTableViewController *tableViewController;
在您的简单视图控制器 .m 中:
// after checkboxes are selected...
self.tableViewController.checkBoxValue = @"Value goes here";
然后,当您导航回表格视图控制器时,您可以对checkboxValue
属性中的值执行任何您需要的操作。
于 2012-06-26T06:35:08.150 回答
0
您应该使用委托方法。在这种情况下,它是 Objective-C 中常用的模式。我已经回答了这个SO中的一个例子。如果您之后仍有疑问,请告诉我。
于 2012-06-26T06:52:30.847 回答
0
您可以为此使用自定义委托。在第二类中创建一个委托。当您再次来到第一类时,将自动调用委托方法,不要忘记在第一类中实现委托。
于 2012-06-26T09:49:10.793 回答