获取当前视图实例?

时间:2011-06-27 14:59:22

标签: iphone objective-c xcode ipad

我有一个类:MainViewController

该控制器的一个实例正在控制当前视图。

我有另一个类:DetailClass,其中有一个MainViewController实例,myMainViewController。

如何设置myMainViewContoller等于当前控制用户看到的视图的MainViewController实例?

1 个答案:

答案 0 :(得分:2)

我认为你混淆了“实例”和“实例指针”。如果你说DetailClass有一个实例变量是一个指向MainViewController实例的指针,你的问题会更有意义。我会假设这就是你的意思。

通常在这些情况下,其中一个控制器创建了另一个,或者其他一些对象创建了它们。第一种情况在基于导航的应用程序中很常见,而第二种情况可能是由两个控制器由标签栏控制器管理。无论哪种方式,通常都有一些对象知道两个控制器。所以,假设您的MainViewController创建了一个DetailClass实例。如果是这种情况,它可以简单地将指针传递给自身作为初始化的一部分,或者可能在创建DetailClass实例之后。 DetailClass有一个-setMyMainViewController:方法吗?如果是,MainViewController可能会有一些如下所示的代码:

//...
DetailClass *detailController = [[DetailClass alloc] initWithNibName:nil bundle:nil];
[detailController setMyMainViewController:self];
//...