modalViewController:属性和变量

时间:2012-03-23 07:27:59

标签: uiviewcontroller modalviewcontroller

我的iPad应用程序真的需要一些帮助。以下情形:

  • mainView加载
  • mainView设置了一些变量
  • mainView提供modalView
  • modalView将对象添加到mainView的mutableArray
  • modalView解散并调用mainView的方法

现在我的问题: 如何在不为每个创建新实例的情况下访问变量和方法?!

当我在modalView中执行mainView *main = [[mainView alloc] init];时,要访问方法和变量,旧实例会被销毁,并且在返回mainView时我会丢失所有变量。

感谢您的每一个小帮助!亲切的问候,朱利安

1 个答案:

答案 0 :(得分:0)

执行此操作的一种方法是向modalView添加属性,例如parent。然后,在您从presentModalViewController致电mainView之前,您需要设置modalView.parent = self;这样您就可以对mainView(特定实例)进行反向引用你的modalView

另一种方法是让你的mainView成为单身对象。根据您的应用程序设计,这可能是也可能不是最佳选择。我完成单例对象的方式如下:
+在mainView中创建全局/静态变量(例如mv_)。类型应与类相同(即mainView)。将其初始化为nil +创建一个类方法来分配& init该变量(如果实例尚不存在)或按原样返回(如果您已经初始化它)。这可以很简单:

+ (mainView *) getMainView()
{
    if (!mv_)
        _mv = [[self alloc] init];
    return mv_;
}  

+然后,只要您需要访问mainView单例对象,就可以调用getMainView。使用这种方法时有一些怪癖,所以如果你决定采用这种方法,请确保你的应用程序按照你的意愿行事。