1

在我的应用程序中,我试图在 appDelegate 中运行我的 applicationWillTerminate 中当前存在的一些代码。我已经将相同的代码 c/p'd 到当前正在运行的方法中(由 NSLog 验证),但代码似乎并没有以相同的方式执行。

以下代码来自我的应用程序WillTerminate,它保存数据,准备下次加载。

[myArray makeObjectsPerformSelector:@selector(saveAllDataLeads)];

当我将它插入到我的 DetailViewController.m 中(在当前处于活动状态的方法中)时,我插入以下内容。

[appDelegate.myArray makeObjectsPerformSelector:@selector(saveAllDataLeads)];

问题是它只是不做 saveAllDataLeads 中的东西,有人能看出什么问题吗?或者是否需要更多信息。

问候

在 DetailViewController.hi 中已声明

MyAppDelegate *appDelegate;

4

1 回答 1

0

您添加到 myArray 的对象必须有一个不带参数的选择器,名为 saveAllDataLeads,即:

@interface MyObject : NSObject {  
}  
- (void)saveAllDataLeads;  
@end  

@implementation MyObject
- (void)saveAllDataLeads {
  // do something
}
@end

然后,大概是在某个地方将 MyObject 的实例添加到 myArray:

MyObject* instance = [MyObject new];
[appDelegate.myArray addObject:instance];
[instance release];
于 2010-01-23T00:31:58.523 回答