У меня есть следующий код, который на первый взгляд тривиален. Я просто установил хочу установить тип шрифта Georgia со значением 14, если ячейка получена в результате поиска или если в моем массиве студентов есть ноль.
Однако, с этой конкретной ячейкой кода, последней в моем tableView
, используется шрифт Georgia с размером 14. Все остальные ячейки работают нормально. Где в моем коде неправильная логика?
- (UITableViewCell *)tableView:(UITableView *)tv cellForRowAtIndexPath:(NSIndexPath *)indexPath {
NSInteger row = [indexPath row];
NSInteger section = [indexPath section];
static NSString *CellIdentifier = @"Student";
cell = [tv dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease];
}
// Configure the cell
if([studentsSearch count] > 0) {
cell.text = (NSString *)[[[studentsSearch objectAtIndex:section] objectAtIndex:row] valueForKey:@"name"];
cell.accessoryType = UITableViewCellAccessoryDetailDisclosureButton;
} else {
if(isSearching == YES)
cell.text = @"No students available.";
else
cell.text = @"No students have been added for this school.";
cell.font = [UIFont fontWithName:@"Georgia" size:14];
cell.accessoryType = UITableViewCellAccessoryNone;
}
return cell;
}
EDIT
Похоже, что происходит, когда создается экземпляр контроллера вида и помещается поверх стека контроллера навигации, мой массив studentsSearch
равен nil
. Я заполняю это в этом контроллере.
Таким образом, при инициализации для шрифта ячейки устанавливается значение Georgia с размером 14, потому что count
равен <0. Однако, когда я заполняю массив <code>studentsSearch и перезагружаю данные tableView
, кажется, что шрифт торчит с момента инициализации представления.
Полагаю, теперь мне нужно найти, как вернуть шрифт в эту ячейку по умолчанию.