【问题标题】:iOS sending parameter to selector using NSTimersiOS 使用 NSTimers 向选择器发送参数
【发布时间】:2012-04-22 14:12:31
【问题描述】:

有没有办法通过 NSTimer 向选择器发送参数?

myTimer =[NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(removeTheNote:) userInfo:nil repeats:NO];

      - (void)removeTheNote:(NSString*)note
    {
        NSLog(@"Note %@ ----------- REMOVED!",note);
    }

我知道使用:

myTimer =[NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(removeTheNote:myNote) userInfo:nil repeats:NO];

不工作,所以我问,有没有办法做到这一点?

【问题讨论】:

    标签: ios parameters selector nstimer


    【解决方案1】:

    您可以为此使用userInfo 参数:

    myTimer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(removeTheNote:) userInfo:myNote repeats:NO];
    

    但是你必须修改removeTheNote如下:

    - (void)removeTheNote:(NSTimer *)timer
    {
        NSString *note = timer.userInfo;
        NSLog(@"%@", note);
    } 
    

    【讨论】:

    • 你的答案是对的,但为什么选择器必须使用 nstimer 参数?
    猜你喜欢
    • 1970-01-01
    • 2012-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-03
    • 2012-04-15
    • 2018-10-25
    相关资源
    最近更新 更多