Добавление элементов во внутренний список поля со списком программно - PullRequest
0 голосов
/ 18 января 2011

Итак, несмотря на щедрое объяснение Мэтта в моем последнем вопросе, я все еще не понял и решил начать новый проект и использовать внутренний список.

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
    codesList = [[NSString alloc] initWithContentsOfFile: @".../.../codelist.txt"];
    namesList = [[NSString alloc] initWithContentsOfFile: @".../.../namelist.txt"];
    codesListArray = [[NSMutableArray alloc]initWithArray:[codesList componentsSeparatedByString:@"\n"]];
    namesListArray = [[NSMutableArray alloc]initWithArray:[namesList componentsSeparatedByString:@"\n"]];
    addTheDash = [[NSString alloc]initWithString:@" - "];
    flossNames = [[NSMutableArray alloc]init];

     [flossNames removeAllObjects];

    for (int n=0; n<=[codesListArray count]; n++){
        NSMutableString *nameBuilder = [[NSMutableString alloc]initWithFormat:@"%@", [codesListArray objectAtIndex:n]];
        [nameBuilder appendString:addTheDash];
        [nameBuilder appendString:[namesListArray objectAtIndex:n]];
        [comboBoz addItemWithObjectValue:[NSMutableString stringWithString:nameBuilder]];
        [nameBuilder release];
    }


}

Итак, это моя последняя попытка, и список все еще не отображается в моем поле со списком. Я попытался использовать addItemsWithObjectValues вне цикла for вместе с предложениями по этому вопросу: Это правильный способ добавления предметов в NSCombobox в Какао?

Но все равно не повезло. Если вы не можете сказать, я пытаюсь объединить две строки из файлов с дефисом между ними, а затем поместить эту новую строку в поле со списком. В двух файлах содержится более 400 кодов и совпадающих имен, поэтому ручная их вставка была бы огромной рутиной, не говоря уже о том, что это может вызвать проблемы. Компилятор не показывает предупреждений или ошибок, и в IB он настроен на использование внутреннего списка, но когда я его запускаю, список не заполняется, если я не сделаю это вручную.

Некоторые вещи, которые, как я думал, могут быть причиной этого:

  • Находясь в applicationDidFinishLaunching: метод
  • Наличие переменных строки и массива объявлены как переменные экземпляра в заголовок (вместе с @property и @ Synth сделано с ними)
  • Возиться с использованием appendString несколько раз с NSMutableArrays

Мне кажется, что это ничего не вызывает, но, может быть, кто-то еще узнает то, чего я не знаю.

Спасибо за помощь.

1 Ответ

0 голосов
/ 18 января 2011

Вы пробовали запустить это в отладчике и пошагово пройти по коду?Если вы это сделаете, держу пари, вы обнаружите, что codesList, namesList или comboBoz равно нулю.

Кстати, flossNames ничего не делает, и часть внутрицикл можно сделать более кратко, используя -[NSString stringWithFormat:].

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