在iOS 6上运行循环/多线程/计时器的行为有何不同?

时间:2012-10-17 07:46:12

标签: multithreading ios6 nstimer ios5.1 nsrunloop

我刚刚安装了Xcode 4.5以开始在iOS6设备上测试一些代码。我希望我的现有代码显然可以在iOS 5和iOS 6上运行。以前用于Xcode 4.3的相同代码(下面)停止在Xcode 4.5上运行:

-(BOOL)readFromRingBuffer
{                
    NSDate *fireDate = [NSDate dateWithTimeIntervalSinceNow:0];
    ringBufferReaderTimer = [[NSTimer alloc] initWithFireDate:fireDate
                                                    interval:0.25
                                                      target:self
                                                     selector:@selector(readRingBufferDataBit)
                                                    userInfo:NULL
                                                     repeats:YES];

    NSRunLoop *runLoop = [NSRunLoop currentRunLoop];
    [runLoop addTimer:ringBufferReaderTimer forMode:NSDefaultRunLoopMode];
}

我不得不把这一行放在要触发的方法上:[ringBufferReaderTimer fire];(不必在XCode 4.3上执行此操作)

但是它会经历一次该方法并且什么都不会发生..总的来说..我看到发生了奇怪的事情..我需要知道关于iOS6中的线程我不知道的事情吗?快速的谷歌搜索并没有告诉我多少..

0 个答案:

没有答案