Вопрос

У меня есть NSArray, который я передаю через метод делегата:

- (void)didFinishParsing:(NSArray *)array {
    [self.myArray addObjectsFromArray:array];
    NSLog(@"%@", self.myArray);
    [self.tableView reloadData];
}

В массиве есть только один объект, и я хотел бы, чтобы количество строк tableView равнялось количеству объектов в массиве objectAtIndex: 0 , но я не могу получить счет. Я пытался:

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return [[self.myArray objextAtIndex:0] count];
}

Как узнать номер объекта внутри первого (и единственного) объекта в моем массиве?

Это было полезно?

Решение

Для подсчета массива с индексом 0 self.myArray ваш синтаксис правильный. Ваша переменная array настроена так, как вы думаете?

Вызов метода addObjectsFromArray: добавит содержимое array в конец self.myArray .

Другими словами: [массив objectAtIndex: 0] станет [self.myArray lastObject:]

Если у вас возникли проблемы с запуском count: для [self.myArray objectAtIndex: 0] или [self.myArray lastObject] , тогда объект, который вы пытаетесь сосчитать, может быть nil , пустым, а не NSArray / Set, как вы ожидаете.

Другие советы

Если вы пытаетесь создать массив внутри массива, вы должны вместо этого использовать

[self.myArray addObject: array];

Это добавит массив к следующему индексу внутри self.myArray. Что вы делали ранее с

[self.myArray addObjectsFromArray:array];

добавлял содержимое array в self.myArray , не добавляя сам array в self.myArray .

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top