Почему значения добавляются в nsmutablearray дважды?

Я пишу приложение, которое связывается с устройством Bluetooth LE и имеет одноэлементное устройство, которое обрабатывает соединение. Я хочу сохранить значения данных с устройства Bluetooth в массиве для последующей обработки, и эти значения данных будут выводиться на консоль через 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 и, если он есть, берет этот бит и все остальное до конца и выводит его на экран. Если логическое значение record_ включено, то оно должно сохранять значение в массиве. Это все работает нормально, но self.rrInt добавляется в мой mutablearray дважды! Я знаю это, потому что добавление NSLog для печати счетчика моего массива при каждом добавлении объекта увеличивает его на 2 каждый раз.

Любые мысли будут с благодарностью!

0 ответов

Другие вопросы по тегам