iPhone dev - 与@selector一起发行

时间:2010-01-21 10:08:58

标签: iphone selector

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

以下代码来自我的applicationWillTerminate,它保存数据,准备下次加载。

  

[myArray makeObjectsPerformSelector:@ selector(saveAllDataLeads)];

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

  

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

问题是它只是没有做save​​AllDataLeads中的东西,有人可以看到有什么问题吗?或者需要更多信息。

此致

在DetailViewController.h中我已声明

  

MyAppDelegate * appDelegate;

1 个答案:

答案 0 :(得分: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];