长话短说。使用容器和臭名昭着的“空塞”的大型应用程序。容器采用NSNotificationCenter通知来执行包含segues的子类NSObject的segue。这意味着“prepareForSegue”方法未被使用,如果使用,则不执行任何操作。如果视图控制器尚未放置在堆栈上,则NSNotification将无法使label.text值更改,因此我需要首先进行的操作。这是故事:
视图控制器1有2个按钮,单击这些按钮将带您查看控制器2.视图控制器2有一个标签,可根据您选择的按钮更改文本。由于NSNotificationCenter的实现和作为侦听器的容器,无法使用PrepareForSegue方法。
我尝试过使用NSNotificationCenter,但如前所述,只有在视图控制器进入堆栈后才能使用。我需要第一次改变。感谢。
我将IBAction绑定到一个按钮,并且IBAction包含用于交换视图控制器的NSNotification。 userinfo:使用我为空segue创建的子类Segue(NSObject)的对象和键获取NSDictionary。 ContainerView控制器中包含观察器,用于发生segue的通知。
答案 0 :(得分:0)
我在做了segue的通知中创建了一组参数。在接收视图控制器中,get参数方法在执行任何操作之前执行“if”语句以检查这些参数并正确设置标签文本。