Iphone 如何使用导航控制器调用方法
我在导航控制器中推送了一个视图。例如:view1推送view2,如果我想从view2调用任何view1方法。有可能吗。这是一个好的做法Iphone 如何使用导航控制器调用方法,iphone,objective-c,ios,xcode,Iphone,Objective C,Ios,Xcode,我在导航控制器中推送了一个视图。例如:view1推送view2,如果我想从view2调用任何view1方法。有可能吗。这是一个好的做法 TIA是的,这是可能的,实际上有几种方法: 使用delegate模式,正如注释中所建议的那样(尽管您仍然需要将引用传递给调用方) 创建时只需将View1引用传递到View2,然后使用该引用调用所需的方法 您可以在NavigationController堆栈上找到上一个viewController,并调用其可用的任何公共方法 有几种构建应用程序的方法来处理内部通信
TIA是的,这是可能的,实际上有几种方法:
delegate
模式,正如注释中所建议的那样(尽管您仍然需要将引用传递给调用方)View1
引用传递到View2
,然后使用该引用调用所需的方法NavigationController
堆栈上找到上一个viewController
,并调用其可用的任何公共方法有几种构建应用程序的方法来处理内部通信。您想要构建的方式取决于您自己,但您必须具备基本的设计模式知识,最好还具备设计模式或其他设计模式的知识 以下是一些关于如何构建应用程序的示例: 建议1
- 创建一个类a,让你的应用程序创建一个实例
- 让用户分别创建View1和View2的一个实例,并保留对它们的引用
- 让View1在中调用一个方法,而该方法又可以在View2中调用一个方法
- 让View2在中调用一个方法,该方法又可以在View1中调用一个方法
- 在应用程序中创建View1的实例
- 让View1创建View2的实例并保留对其的引用
- 让View1成为View2的代理
- View2可以通过调用其委托调用View1中的方法,View1可以通过调用引用调用View2中的方法
- 创建一些M1、M2和M3类(描述应用程序的模型)
- 创建视图View1和View2
- 创建一个控制器类C
- 让View1和View2以M1、M2和M3显示信息
- 当用户与View1或View2交互时,让他们调用C中的方法,而C又调用M1、M2和M3中的方法来更改它们的状态
- M1、M2和M3的变化将通过视图1和视图2中显示的信息反映出来
这是正常的做法,例如,您可以使用“委托”模式。