尝试在NSTimer上传递数据时应用程序崩溃

时间:2013-03-23 22:25:19

标签: objective-c macos cocoa nstimer

我有以下代码在5秒后传递特定ID:

NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];
[dict setObject:[NSNumber numberWithInteger:currentID] forKey:@"ID"];
timer = [NSTimer scheduledTimerWithTimeInterval:5 target:self selector:@selector(checkID:) userInfo:dict repeats:NO];

- (void)checkID:(NSTimer*)t{
    NSInteger timerID = [[[t userInfo] objectForKey:@"ID"] integerValue];
    if (timerID == _myID){
       NSLog(@"got ID");
    }
}

但是我的应用程序在计时器结束后崩溃了。有任何想法吗?我一直在寻求帮助,但我只能找到类似上面的代码,显然它适用于其他人 感谢

1 个答案:

答案 0 :(得分:0)

我测试了你的代码,它可以在这里工作但没有"计时器"属性。

NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];
[dict setObject:[NSNumber numberWithInteger: currentID ] forKey:@"ID"];
[NSTimer scheduledTimerWithTimeInterval:5 target:self selector:@selector(checkID:) userInfo:dict repeats:NO];

我认为你不需要"计时器"在这种情况下的财产。