我在我的iOS应用程序中添加了自动启动功能(在所需的后台模式中添加VoIP)并且运行正常。然后我想添加NSTimer。我在 - (id)init
中写了以下内容NSLog(@"!!!!IT'S START!!!!");
MyTimer = [NSTimer scheduledTimerWithTimeInterval:60 target:self
selector:@selector(StartMyTimer) userInfo:nil repeats:YES];
- (BOOL) StartMyTimer
{
NSLog(@"Timer is wirk");
}
当我的应用程序自动启动时,我收到一条消息“!!!! IT'S START !!!!”没有人......
如果有人知道问题是什么,那么请帮忙!
答案 0 :(得分:0)
首先,也许您想在这些日志消息中检查您的英语。
其次,根据惯例,你应该为选择器和变量使用小写(camelCase)名称(" myTimer"而不是" MyTimer")。
第三,BOOL
返回类型没有意义。方法名称startMyTimer
也不是。也许类似于timerFired
或者更合适。
最后,您必须确保您的应用仍在运行,否则计时器将无法调用该方法。此外,您必须确保未释放计时器,因此请确保包含它的类在内存中。您也许应该对计时器保持强烈的参考。
答案 1 :(得分:0)
也许您必须添加参数以接收计时器并在StartMyTimer结束时添加:
MyTimer = [NSTimer scheduledTimerWithTimeInterval:60 target:self
selector:@selector(StartMyTimer:) userInfo:nil repeats:YES];
- (BOOL) StartMyTimer:(NSTimer *)myTimer {
NSLog(@"Timer is wirk");
}