我知道用户信息用于传递参数,但是如何传递多个参数?
我猜我必须使用一个对象,但是由于我对objective-c还很陌生,我真的不知道这是否正确以及如何去做?
谢谢!
我知道用户信息用于传递参数,但是如何传递多个参数?
我猜我必须使用一个对象,但是由于我对objective-c还很陌生,我真的不知道这是否正确以及如何去做?
谢谢!
创建一个包装器对象,一个NSArray
或NSDictionary
您需要传递的多个对象,并将该包装器对象传递到userInfo
. 在接收器上,从包装器对象中检索对象。
使用 NSDictionary 作为包装器的示例代码:
调用代码:
NSString *obj1 = @"string1";
NSString *obj2 = @"string2";
NSDictionary *wrapper = [NSDictionary dictionaryWithObjectsAndKeys:obj1, @"Object1", obj2, @"Object2", nil];
[NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(timerFireMethod:) userInfo:wrapper repeats:NO];
接收定时器代码:
- (void)timerFireMethod:(NSTimer*)theTimer {
NSDictionary *wrapper = (NSDictionary *)[theTimer userInfo];
NSString * obj1 = [wrapper objectForKey:@"Object1"];
NSString * obj2 = [wrapper objectForKey:@"Object2"];
// ...
}