- (id)performSelector:(SEL)aSelector
withObject:(id)anObject
withObject:(id)anotherObject
Apple Documentation От:
[self performSelector:@selector(displayView:arg:)
withObject:myView
withObject:myLabel];
Но я действительно предлагаю вам пойти с GCD:
Другим вариантом dispatch_after, который будет принимать блок и епдиеий его в определенное время.
double delayInSeconds = 5.0;
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC);
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
[self displayView:myView arg:myLabel];
});
Еще один способ использует NSTimer:
myTimer = [NSTimer scheduledTimerWithTimeInterval:2.0
target:self
selector:@selector(displayViewWitharg:)
userInfo:dict
repeats:NO];
// where dict is NSDictioary with key-value pair, which contains your parameters which you want to pass.
И вот каждый раз, когда вам требуется вы можете аннулировать этот таймер, чтобы остановить процесс.
Надеюсь, это вам поможет
Это совсем не связано с Xcode. –
Кстати, оберните аргументы в словарь и бум, вы сделали 1 arg из N args. –
@ H2CO3 Извините. Хорошая точка зрения. Я могу попробовать. Благодарю. –