我有一个按钮 - 按下时 - 加载一个表格视图。当用户选择表格视图单元格时,将调用didSelectRowAtIndexPath
。那时我想要关闭表格视图并且我之前打开的视图显示。我完成了所有这些。但是如何将选定的单元格文本添加到上一个视图的按钮标签?
目前我有一个单例数据存储(数据是静态的),其中第一个视图控制器可以访问“最后选择”值。 didSelectRowAtIndexPath设置得很好。但是前一个视图控制器如何知道表视图何时关闭?而且,我如何跟踪按下哪个按钮,以便知道要更改哪个标签?
我有一种感觉,这甚至可能不是这样做的正确方法 - 如果是这样,请指导我更好的方式。
答案 0 :(得分:1)
当您将控件返回到上一个视图控制器时,将调用viewWillAppear和viewDidAppear。您可以使用其中一种方法检查“上次选择”是否具有有效值。
作为替代方法,您可以将didSelectRowAtIndexPath捆绑上一个控制器所需的信息,并将NSNotification作为对象(或userinfo字典)发布。这样,您可以直接回复通知,而无需在视图出现时确定是否有任何操作。
编辑:刚刚阅读了上面关于使用addSubview的评论,我会说,忘记我的viewWillAppear / viewDidAppear建议并继续使用NSNotification。