【发布时间】:2013-10-26 02:01:41
【问题描述】:
我有一个按钮,按下它会创建一个对象thing。然后它会休眠十秒钟,然后调用thing.go 来获取应用程序状态
UIApplicationState state = [[UIApplication sharedApplication] applicationState];
然后按照this问题的答案和cmets我检查应用程序是否在后台,如果是,它会显示本地通知。
所以我按下按钮并立即按下主页键进入主屏幕(从而将应用程序置于后台)
但是,我可以看出 if 语句返回 false,因此没有执行其中的任何代码(通过在 if 语句中放置 NSLog)。
所以我的下一个想法是使用NSLog(state) 在控制台中以某种方式显示日期。显然我不能这样做。
那么如何显示 applicationState 来解决我的问题?还是有其他方法可以检查应用程序是否在此类方法中的后台运行?
这是go 函数,当按下按钮时,它会在IBAction 内部调用
-(void)go {
if (state == UIApplicationStateBackground) {
NSLog(@"App is in background");
}
}
这是链接到按钮的IBAction,即在按下按钮时运行
- (IBAction)button_help {
myclass* thingy = [[myclass alloc] init];
sleep(10);
thingy.go;
}
【问题讨论】:
-
为您添加的代码 Zaph :)
-
仅供参考 - 使用属性表示法调用方法是不好的做法,即使它有效。调用
go方法,如:[thingy go];。 -
你不能只使用
applicationDidEnterBackground方法来做你想做的事吗? developer.apple.com/library/ios/documentation/uikit/reference/…:
标签: ios objective-c