Uiviewcontroller modalViewController:属性和变量
我的iPad应用程序真的需要一些帮助。以下场景:Uiviewcontroller modalViewController:属性和变量,uiviewcontroller,modalviewcontroller,Uiviewcontroller,Modalviewcontroller,我的iPad应用程序真的需要一些帮助。以下场景: 主视图加载 mainView设置一些变量 主视图呈现modalView modalView将对象添加到mainView的可变数组中 modalView拒绝并调用mainView的方法 现在我的问题是: 如何访问变量和方法而不为每个变量和方法创建新实例 当我执行mainView*main=[[mainView alloc]init]时在modalView中,为了访问方法和变量,旧实例会被销毁,当返回mainView时,我会释放所有变量 谢谢你的
- 主视图加载
- mainView设置一些变量
- 主视图呈现modalView
- modalView将对象添加到mainView的可变数组中
- modalView拒绝并调用mainView的方法
mainView*main=[[mainView alloc]init]时
在modalView中,为了访问方法和变量,旧实例会被销毁,当返回mainView时,我会释放所有变量
谢谢你的每一点帮助!出于好意,Julian一种方法是向您的
modalView
添加一个属性,类似于parent
。然后,在从main视图调用presentModalViewController
之前,设置modalView.parent=self
通过这种方式,您可以从modalView
反向引用main视图(特定实例)
另一种方法是使mainView
成为单例对象。这可能对您来说是最佳的,也可能不是最佳的,这取决于您的应用程序的设计。我处理单例对象的方式如下:
+在mainView
中创建全局/静态变量(例如mv)。类型应与类相同(即mainView
)。将其初始化为nil
+创建一个类方法来alloc&init该变量(如果实例不存在)或按原样返回它(如果您已经初始化了它)。这可以简单到:
+ (mainView *) getMainView()
{
if (!mv_)
_mv = [[self alloc] init];
return mv_;
}
+然后,每当需要访问mainView单例对象时,只需调用getMainView
。但是,使用这种方法时有一些怪癖,因此,如果您决定这样做,请确保您的应用程序按照您希望的方式运行。我不明白,为什么要分配新的mainView。不要这样做。不分配mainView将导致应用程序与SIGABRT崩溃。那么我应该如何实现父级(mainView)呢?!别把它忘了。你需要一个控制器实例,只分配一个。好的,我试试。但是我该如何传输数据呢?!我想,您应该阅读有关IOS视图控制器()和委托设计模式()的基础知识