IOS 使用 AppDelegate.m 中 ViewController.m 的方法?
Posted
技术标签:
【中文标题】IOS 使用 AppDelegate.m 中 ViewController.m 的方法?【英文标题】:IOS Using method from ViewController.m in AppDelegate.m? 【发布时间】:2013-07-09 16:46:48 【问题描述】:所以我在 ViewController.m 中有一个方法,只需按一下按钮即可发布通知(到通知中心)
这是 ViewController.m 中的方法
- (IBAction)buttonPush:(id)sender
//clear NC
[[UIApplication sharedApplication] cancelAllLocalNotifications];
//make mutablearray
NSMutableArray *list = [NSMutableArray array];
[list addObject:first];
[list addObject:second];
[list addObject:third];
//post notification
for (UITextField *thing in list)
UILocalNotification *notif = [[UILocalNotification alloc] init];
notif.alertBody = thing.text;
[[UIApplication sharedApplication] presentLocalNotificationNow:notif];
NSLog(@"looped!");
我想做的是在以下方法中使用上述方法(在 AppDelegate.m 中):
- (void)applicationDidEnterBackground:(UIApplication *)application
【问题讨论】:
你在使用故事板吗? @jsd 是的,我使用了一个“Touch Down”引用按钮的插座 【参考方案1】:您可以注册以在您的视图控制器中接收通知,以便在应用程序进入后台时收到通知:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(buttonPush:) name:UIApplicationWillResignActiveNotification object:nil];
【讨论】:
好的,但我会把这个放在哪里?在 - (void)applicationDidEnterBackground:(UIApplication *)application ? 没有。在 ViewController.m 中的 -(void)viewDidLoad 方法中。以上是关于IOS 使用 AppDelegate.m 中 ViewController.m 的方法?的主要内容,如果未能解决你的问题,请参考以下文章
AppDelegate.m 的“application:didFinishLaunchingWithOptions”的默认实现是不是从 iOS 6 更改为 iOS 8?
仅为 AppDelegate.m iOS 中的首次启动设置特定方向
iOS AppDelegate.m:处理 openUrl RCTLinkingManager 和 Twitter - 方法 'application:openURL:options:' 的重复声明