我的iPad应用程序真的需要一些帮助。以下情形:
现在我的问题: 如何在不为每个创建新实例的情况下访问变量和方法?!
当我在modalView中执行mainView *main = [[mainView alloc] init];
时,要访问方法和变量,旧实例会被销毁,并且在返回mainView时我会丢失所有变量。
感谢您的每一个小帮助!亲切的问候,朱利安
答案 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
。使用这种方法时有一些怪癖,所以如果你决定采用这种方法,请确保你的应用程序按照你的意愿行事。