2011-06-27 54 views
0

我有一个类:MainViewController获取当前视图实例?

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

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

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

回答

2

我觉得你很困惑“实例”和“指向实例的指针”。如果您说DetailClass有一个实例变量,它是指向MainViewController实例的指针,那么您的问题会更有意义。我会认为这就是你的意思。

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

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