Как передать более одного аргумента в поток? - PullRequest
0 голосов
/ 21 ноября 2011

если у меня есть функция

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

}

как я могу вызвать вышеуказанную функцию в

[self performSelector:<#(SEL)#> withObject:<#(id)#> afterDelay:<#(NSTimeInterval)#>];

Ответы [ 3 ]

4 голосов
/ 21 ноября 2011

Используйте NSDictionary в качестве аргумента, и вы должны определить функцию для приема словаря

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

Затем вы можете присвоить значение, получив соответствующие данные в словаре

2 голосов
/ 21 ноября 2011

Попробуйте обернуть ваши объекты в другой пользовательский объект / NSArray / NSDictionary. Примерно так:

NSArray *arrayObjects = [NSArray arrayWithObjects:name, address, nil];
[self performSelector:@selector(sel:) withObject:arrayObjects afterDelay:delay];
2 голосов
/ 21 ноября 2011

Вы должны использовать объект NSArray. Добавьте свой параметр в объект NSArray и передайте этот объект.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...