Итак, у меня есть 5 строк, и при выборе они передают целое число с номером строки на мой второй контроллер представления.TableView не обновляет данные, даже если он распознает ввод?
Каждый номер имеет свой собственный массив с элементами и должен возвращать количество элементов для указанной строки.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"MasterCell";
MasterCell *cell = (MasterCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
[cell setSelectionStyle:UITableViewCellSelectionStyleNone];
if (radInt == 0) {
cell.textLabel.text = @"LM";
NSLog(@"My return should have been LM");
}
if (radInt == 1) {
cell.textLabel.text = @"Restauranger";
NSLog(@"My return should have been Rest");
}
if (radInt == 2) {
cell.textLabel.text = [shoppingArray objectAtIndex:indexPath.row];
}
if (radInt == 3) {
cell.textLabel.text = [annatArray objectAtIndex:indexPath.row];
}
//cell.textLabel.text = [listData objectAtIndex:[indexPath row]];
cell.imageView.image = [UIImage imageNamed:@"tab-icon1.png"];
cell.accessoryType = UITableViewCellAccessoryNone;
return cell;
}
Это мой код, чтобы проверить его, и он не работает. NSLOG работает правильно, но данные просто обновляют обновление ... Что я сделал неправильно? Это Nslogs LM каждый раз, но он также имеет 1 в журнале, который является выбранной строкой (radInt).
Новый подход
static NSString *CellIdentifier = @"MasterCell";
MasterCell *cell = (MasterCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell==nil)
cell = [[MasterCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
if (radInt == 0) {
cell.textLabel.text = @"LM";
NSLog(@"My return should have been LM");
}
else if (radInt == 1) {
cell.textLabel.text = @"Restauranger";
NSLog(@"My return should have been Rest");
}
else if (radInt == 2) {
cell.textLabel.text = [shoppingArray objectAtIndex:indexPath.row];
}
else if (radInt == 3) {
cell.textLabel.text = [annatArray objectAtIndex:indexPath.row];
}
else {
cell.textLabel.text = @"Noes";
}
//cell.textLabel.text = [listData objectAtIndex:[indexPath row]];
cell.imageView.image = [UIImage imageNamed:@"tab-icon1.png"];
cell.accessoryType = UITableViewCellAccessoryNone;
return cell;
мнение перед тем ----
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
SecondViewController *enjoy = [[SecondViewController alloc] init];
if ([[array objectAtIndex:indexPath.row] isEqual:@"Livsmedel"]) {
[enjoy setTitle:[array objectAtIndex:indexPath.row]];
enjoy.radInt = 0;
NSLog(@"0");
}
if ([[array objectAtIndex:indexPath.row] isEqual:@"Restauranger"]) {
[enjoy setTitle:[array objectAtIndex:indexPath.row]];
enjoy.radInt = 1;
NSLog(@"1");
}
if ([[array objectAtIndex:indexPath.row] isEqual:@"Shopping"]) {
[enjoy setTitle:[array objectAtIndex:indexPath.row]];
enjoy.radInt = 2;
}
if ([[array objectAtIndex:indexPath.row] isEqual:@"Annat"]) {
enjoy.radInt = 3;
}
[self performSegueWithIdentifier:@"main" sender:self];
}
Кажется, нет никакой связи между 'indexPath' и вашей переменной выбора (' radInt'). – Matthias
if (cell == nil) ?? – Omarj
Вы зарегистрировали radInt, чтобы узнать, что это? Как вы передаете это в эту таблицу? – rdelmar