0

可能重复:
如何在特定时间段后使用 performselector 使函数包含参数

我是这个我手机应用程序编程的新手。我有一个具有一种参数类型作为结构指针的函数。如下所示

-(void)responce:(structurePtr *)someData
{
......
......
}

我想在 5 秒的时间间隔后使用performselector方法调用此函数。

我使用下面的代码来执行活动

[self performSelector:@selector(responce:) withObject:someData afterDelay:5];

这甚至不称为响应函数。通过执行上面的 performselector,它会崩溃并显示 EXc_BAD_ACCESS 消息。

请告诉我为什么它没有调用响应函数。

另一件事是它在上面的 performSelector 调用中显示一个警告,称为“传递 performSelector 的参数 2:withObject:afterDelay:来自不兼容的指针类型

4

1 回答 1

1

     看起来您的 structurePtr 是一个普通的 c 结构,并且performSelector:需要第二个参数是 obj-c 对象(一种id类型)。
     使用“将警告视为错误”选项来构建项目也可能是一个好策略。编译时的警告经常变成运行时错误......

于 2009-12-15T09:58:42.797 回答