【发布时间】:2011-01-20 00:56:42
【问题描述】:
您好,我想知道,如何从我的应用委托创建对我的视图控制器之一的引用?当我的应用进入前台时,我想从委托中调用(我的视图控制器的)特定方法。
【问题讨论】:
-
哪个视图控制器?
[window makeKeyAndVisible]之前使用的那个?
标签: iphone objective-c cocoa-touch iphone-sdk-3.0 ios4
您好,我想知道,如何从我的应用委托创建对我的视图控制器之一的引用?当我的应用进入前台时,我想从委托中调用(我的视图控制器的)特定方法。
【问题讨论】:
[window makeKeyAndVisible]之前使用的那个?
标签: iphone objective-c cocoa-touch iphone-sdk-3.0 ios4
当特定的视图控制器被创建并加载到内存中时,在这个控制器的viewDidLoad方法中:
[[[UIApplication sharedApplication] delegate] setThatSpecialContrller:self];
当这个控制器必须在某个时候被释放时,您可以使用类似的代码行再次将指针设置为 nil。
【讨论】:
或者,您可以收听UIApplicationWillEnterForegroundNotification 通知。
- (void)viewDidLoad {
NSNotificationCenter *defaultCenter = [NSNotificationCenter defaultCenter];
[defaultCenter addObserver:self selector:@selector(applicationWillEnterForeground:) UIApplicationWillEnterForegroundNotification object:nil];
}
- (void)viewDidUnload {
[[NSNotificationCenter defaultCenter] removeObserver:self];
}
【讨论】:
diwup 提到的替代方法在this 教程的“将左与右连接起来”一节中得到了很好的简短描述。
【讨论】: