我一直在处理程序中的错误,但我似乎无法找到解决方案。
当用户打开相机时,显示UIImagePickerController并且效果很好。 虽然当他按下iPhone上的主页按钮时我想从NSMutableArray中删除一个对象。
例如: 用户打开相机。 将对象添加到另一个类中的NSMutableArray。 用户按下主页按钮 该对象应该被删除。
当应用程序移动到后台时,我无法调用remove方法,因为我需要将另一个对象保留在数组中以进行后台定位服务。
当按下主页按钮或UIImagePicker通过主页按钮事件关闭时,有没有办法捕捉事件?
答案 0 :(得分:2)
您必须发布通知。对于appDelegate方法中的那个:
- (void)applicationDidEnterBackground:(UIApplication *)application
{
[[NSNotificationCenter defaultCenter] postNotificationName:@"objectRemover" object:nil];
}
现在你在视图控制器中打开UIImagePickerController及其viewDidLoad方法
-(void)viewDidLoad
{
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(removeObject) name:@"objectRemover" object:nil];
}
在你的视图控制器中添加选择器方法你将删除你的对象,因为当按下主页按钮时它将被调用。
-(void)objectRemover
{
// Your code remove object from array
}
答案 1 :(得分:0)
在... AppDelegate.m课程中,您将找到以下有用的方法
- (void)applicationWillResignActive:(UIApplication *)application {
- (void)applicationDidEnterBackground:(UIApplication *)application {
- (void)applicationWillTerminate:(UIApplication *)application {