Я использую indexPath.row, чтобы определить, в какой строке моего табличного представления я что-то делаю. Название моих ячеек содержит число, которое должно быть 1 в первой строке и 18 в последней строке, поэтому у меня есть 18 строк. Это работает для первых 11 строк, но после этого у меня есть номера в заголовке, которые, похоже, генерируются случайным образом! Иногда 16, затем 5, затем 18, затем 12 ... и так далее. В чем проблема с этим/почему переменная indexPath.row ведет себя так?iPhone table view - проблема с indexPath.row
Мой метод cellForRowAtIndexPath:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *MyIdentifier = @"MyIdentifier";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:MyIdentifier];
if (cell == nil) {
[[NSBundle mainBundle] loadNibNamed:@"myCell" owner:self options:nil];
cell = cell0;
self.cell0 = nil;
}
UILabel *label;
label = (UILabel *)[cell viewWithTag:1];
label.text = [NSString stringWithFormat:@"Cell %d", indexPath.row];
return cell;
}
Все больше предложений о том, как решить эту проблему? Я не получить его работы до сих пор ...
// Обновление с большим количеством кода:
Вот как я объявляю клетку. Он находится в файле XIB (шаблон «пустой XIB»), в котором я просто поместил ячейку из библиотеки в IB.
@interface myViewController : UITableViewController {
UITableViewCell *cell0;
}
@property (nonatomic, retain) IBOutlet UITableViewCell *cell0;
Затем, в верхней части файла myViewController.m:
@synthesize cell0;
Мой метод cellForRowAtIndexPath уже размещен выше. Он равен методу cellForRowAtIndexPath в документации SDK, и в примере Apple это работает.
опубликовать вашу ячейкуForRowAtIndexPath: метод. – Morion
Я добавил его в свой первый пост. – iYassin
Можете ли вы проверить, что label = (UILabel *) [cell viewWithTag: 1]; фактически возвращает что-то, т. е. является меткой! = nil? Если это не ноль, не могли бы вы проверить, действительно ли вы получаете UILabel? Или попробуйте использовать другой тег (большее число) –