Objective c 目标-C中带参数的延时法

Objective c 目标-C中带参数的延时法,objective-c,xcode,methods,parameter-passing,delay,Objective C,Xcode,Methods,Parameter Passing,Delay,我对Objective-C相当陌生,所以如果我遗漏了一些常见的东西,请原谅我。我有一个方法,它有几个(四个)必需的参数,需要反复运行,在运行之间有一个延迟。通常,我会使用: [self performSelector:@selector(methodName:) withObject:nil afterDelay:1.0f/10f]; 问题是我需要在延迟后将参数(多个)传递回自身的方法;但这段代码只能传递一次。这里有什么我遗漏的吗?检查文档中是否有dispatch\u after()检查文档中

我对Objective-C相当陌生,所以如果我遗漏了一些常见的东西,请原谅我。我有一个方法,它有几个(四个)必需的参数,需要反复运行,在运行之间有一个延迟。通常,我会使用:

[self performSelector:@selector(methodName:) withObject:nil afterDelay:1.0f/10f];

问题是我需要在延迟后将参数(多个)传递回自身的方法;但这段代码只能传递一次。这里有什么我遗漏的吗?

检查文档中是否有
dispatch\u after()
检查文档中是否有
dispatch\u after()

要回答实际问题,通常有两种方法使用
性能选择器:with object:afterDelay:
处理多个数据段:

  • 将该方法更改为仅获取一个参数,通常是将多个项打包到一个集合中(如数组)。呼叫者必须打包,被呼叫者必须解包。如果不想修改原始方法,可以添加包装器方法
  • 使用NSInvocation用多个参数表示方法的调用,然后对调用的
    invoke
    方法执行
    performSelect:withObject:afterDelay:
    。此方法不需要更改任何方法参数或添加任何方法,但更为详细

  • 要回答实际问题,通常有两种方法将
    性能选择器:withObject:afterDelay:
    用于多个数据段:

  • 将该方法更改为仅获取一个参数,通常是将多个项打包到一个集合中(如数组)。呼叫者必须打包,被呼叫者必须解包。如果不想修改原始方法,可以添加包装器方法
  • 使用NSInvocation用多个参数表示方法的调用,然后对调用的
    invoke
    方法执行
    performSelect:withObject:afterDelay:
    。此方法不需要更改任何方法参数或添加任何方法,但更为详细