为什么值被添加到nsmutablearray两次?

时间:2013-04-17 10:37:45

标签: objective-c nsmutablearray bluetooth-lowenergy uint16

我正在编写一个与蓝牙LE设备通信的应用程序,并且有一个处理连接的单例。我希望将蓝牙设备中的数据值存储在一个数组中以便以后处理,并将数据值通过NSlog输出到控制台。但是,当我获取相同的值时,我通过NSLog输出并将其添加到NSMutableArray中,它会被添加两次,我不知道为什么。

这是我的代码,它打印到NSLog并存储值。

if (flags & 0x10) {
    while (reportData2 < reportDataEnd2) {
        int r2rint = CFSwapInt16LittleToHost(*(uint16_t*) reportData2);
        NSLog(@"%i", r2rint);
        self.rrInt = [NSString stringWithFormat:@"%d", r2rint];
        // record if selected
        if(recording_)
        {
            [rrValues_ addObject:self.rrInt];

        }
        reportData2 += 2;
    }

上面的代码查找0x10标志,如果它在那里,它会占用该位和其他任何内容,直到它结束并将其打印到屏幕上。如果启用了recording_布尔值,则将值存储在数组中。这一切都很好,但self.rrInt被添加到我的mutablearray两次!我知道这一点,因为每次添加一个对象时添加一个NSLog来打印我的数组的计数,它每次都会增加2。

任何想法都将不胜感激!

0 个答案:

没有答案