IOS 语法 - 关于 NStimer 中 scheduledTimerWithTimeInterval方法传参的问题

使用  NSTimer scheduledTimerWithTimeInterval: target: selector:userInfo: repeats: 的时候有两个地方需要注意 。

  1. 首先selector指定的方法必须是带一个参数的方法,并且那个参数的类型是NSTimer *。
  2. 其次,参数是靠NSTimer 对象的userInfo属性来传递的。

举个例子:

[NSTimer scheduledTimerWithTimeInterval:0.5 
                       target:self 
                       selector:@selector(sendBroadcast:) 
                       userInfo:@"hello I‘m the info to send" 
                       repeats:NO];
// sendBroadcast的定义形式应该是
-(void)sendBroadcast: (NSTimer *)timer { 

   NSString *msg = (NSString *)[timer userInfo]; // [msg isEqualToString @"hello I‘m the info to send"] == YES
}

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。