Я не могу отобразить массив в UITableView.Что я делаю, так это то, что в поле зрения я создаю массив.В viewDIDappear я заполняю массив.Но когда я запускаю [myArr count]
или [myArr objectAtIndex:indexPath.row]
в настройке таблицы, я получаю пустую таблицу.Если я определяю постоянное целое число как количество строк, а некоторую постоянную строку как текст ячейки, то все работает нормально.Есть ли какой-нибудь метод populate (), который мне нужно запустить, или это проблема с определенным порядком объявлений?
Спасибо за любую помощь.Вот код:
- (void)viewWillAppear:(BOOL)animated {
myArr = [[NSMutableArray alloc] initWithCapacity:100];
}
- (void)viewDidAppear:(BOOL)animated {
[self load_array];
}
- (void) load_array {
for (SomeObject *someObject in SomeObjects) {
[myArr addObject:someObject.someString];
NSLog(@"Value: %@", [myArr objectAtIndex:([myArr count]-1)]); // works
}
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return [myArr count]; // works if I return const ("return 2")
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 1;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}
cell.textLabel.text = [myArr objectAtIndex:indexPath.row]; //=@"ASDF" works.
return cell;
}