Chinaunix首页 | 论坛 | 博客
  • 博客访问: 696467
  • 博文数量: 260
  • 博客积分: 7033
  • 博客等级: 少将
  • 技术积分: 2633
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-13 23:15
文章分类

全部博文(260)

文章存档

2012年(2)

2011年(41)

2010年(78)

2009年(139)

我的朋友

分类: 嵌入式

2011-08-04 19:01:59

目的,给timer触发的函数传递参数。


-(void) startCheckTimer: (PackageInfo *) package

{

    DeviceInfo *deviceInfo = package.deviceInfo;


    NSTimeInterval timeInterval = [self getTimeIntervalByConnectionType: deviceInfo.connectionType];

    

    // 使用 NSInvocation 传递除 NSTimer 本身之外的其他参数

    SEL selector = @selector(checkPackageStatus:); 

    NSMethodSignature *signature = [TestUdpClientAppDelegate instanceMethodSignatureForSelector: selector]; 

    NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:signature];


    [invocation setTarget: self];           // 0

    [invocation setSelector: selector];     // 1

    [invocation setArgument: &package atIndex: 2]; // 2


    // 指数在01表示隐藏的论据自我和_cmd,分别,你应该设置这些值直接与setTarget:和setSelector:方法。 

    // 2,对于使用指数通常在消息传递的参数更大。


    [NSTimer scheduledTimerWithTimeInterval: timeInterval invocation:invocation repeats: NO]; 

}

阅读(880) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~