NSArray ObjectAtIndex: 0 & # 8212; получить счет?
-
05-07-2019 - |
Вопрос
У меня есть 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
. р>