我有一个类:MainViewController
该控制器的一个实例正在控制当前视图。
我有另一个类:DetailClass,其中有一个MainViewController实例,myMainViewController。
如何设置myMainViewContoller等于当前控制用户看到的视图的MainViewController实例?
答案 0 :(得分:2)
我认为你混淆了“实例”和“实例指针”。如果你说DetailClass有一个实例变量是一个指向MainViewController实例的指针,你的问题会更有意义。我会假设这就是你的意思。
通常在这些情况下,其中一个控制器创建了另一个,或者其他一些对象创建了它们。第一种情况在基于导航的应用程序中很常见,而第二种情况可能是由两个控制器由标签栏控制器管理。无论哪种方式,通常都有一些对象知道两个控制器。所以,假设您的MainViewController创建了一个DetailClass实例。如果是这种情况,它可以简单地将指针传递给自身作为初始化的一部分,或者可能在创建DetailClass实例之后。 DetailClass有一个-setMyMainViewController:方法吗?如果是,MainViewController可能会有一些如下所示的代码:
//...
DetailClass *detailController = [[DetailClass alloc] initWithNibName:nil bundle:nil];
[detailController setMyMainViewController:self];
//...