3

我一直在处理程序中的错误,但似乎找不到解决方案。

当用户打开相机时,UIImagePickerController 会显示出来并且效果很好。虽然当他按下 iPhone 上的主页按钮时,我想从 NSMutableArray 中删除一个对象。

例如:用户打开相机。一个对象被添加到另一个类的 NSMutableArray 中。用户按下主页按钮 对象应该被移除。

当应用程序移动到后台时,我无法调用 remove 方法,因为我需要将另一个对象保留在数组中以提供后台位置服务。

有没有办法在按下主页按钮或 UIImagePicker 通过主页按钮事件自行关闭时捕获事件?

4

2 回答 2

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
}
于 2012-05-24T09:26:42.060 回答
0

在 ...AppDelegate.m 类中,您会发现以下有用的方法

- (void)applicationWillResignActive:(UIApplication *)application {
- (void)applicationDidEnterBackground:(UIApplication *)application {
- (void)applicationWillTerminate:(UIApplication *)application {
于 2012-05-24T09:27:29.773 回答