如何将多个参数传递给一个线程?

时间:2011-11-21 11:06:04

标签: iphone objective-c ios function

如果我有一个功能

-(void)setName:(NSString *)name setAddress:(NSString *)address
{

}

如何在

中调用上述功能
[self performSelector:<#(SEL)#> withObject:<#(id)#> afterDelay:<#(NSTimeInterval)#>];

3 个答案:

答案 0 :(得分:4)

使用NSDictionary作为参数,您必须定义接受字典的函数

[self performSelector:@selector(yourSelector:) withObject:theDictionary afterDelay:<#(NSTimeInterval)#>];

然后您可以通过获取字典中的相应数据来分配值

答案 1 :(得分:2)

你应该使用NSArray对象。在NSArray对象中添加参数并传递该对象。

答案 2 :(得分:2)

尝试将对象包装到另一个自定义对象/ NSArray / NSDictionary中。像这样:

NSArray *arrayObjects = [NSArray arrayWithObjects:name, address, nil];
[self performSelector:@selector(sel:) withObject:arrayObjects afterDelay:delay];