вставка в массив - PullRequest
       3

вставка в массив

0 голосов
/ 26 мая 2011
-(void)insertEvent:(stRs232Timer*)pEvent
{
    BOOL bFound = NO;
    NSLog(@"insertEvent");
    pEvent->uExpirationTime = pEvent->uPeriod-45;

    // Insert the item into the event queue in chronological order
    int no = [m_cPendingEventList count];
    stRs232Timer* val;
    for(int i=0;i<no;i++)
    {
        val = (stRs232Timer*)[m_cPendingEventList objectAtIndex:i];
        if (pEvent->uExpirationTime < val->uExpirationTime) 
        {
            NSLog(@"Going to insert!!");
            if (i=0) {
                [m_cPendingEventList insertObject:(void*)pEvent atIndex:i];
                bFound = YES;
                break;
            }
            else //Insert before
            { 
                [m_cPendingEventList insertObject:(void*)pEvent atIndex:(i-1)];
                bFound = YES;
                break;
            }
        }
        i++;
    }
    if (!bFound) {
        [m_cPendingEventList insertObject:(void*)pEvent atIndex:(no+1)];//Insert last
    }
}

Это правильный способ поиска и вставки событий в правильном порядке?

Я получаю перерыв во время выполнения в параметрах if () выше.

Ответы [ 2 ]

2 голосов
/ 26 мая 2011

Почему бы просто не использовать [array addObject:obj];

Вам не нужно указывать индекс - он будет вставлен в конец массива.

0 голосов
/ 26 мая 2011

попробуйте это.

[array addObject:object];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...