Эй, ребята! Я новичок в Objective C, и мне нужна небольшая помощь. Я создал UITableView в UIViewController. Я хотел бы знать, как динамически заполнять мой UITableView. Данные - это куча меток, которые я сохранил в NSMutableArray. Поэтому каждая строка отображает содержимое массива. После того, как массив будет перезагружен новыми данными, вторая строка будет продолжать отображать данные по мере их добавления в массив. Заранее благодарю за любую помощь!Динамическое добавление данных в UITableView
ответ
@tableView как вы хотите конкретную строку, т.е. второй строки, чтобы отобразить данные после массива (т.е. предположит myArray
) перезагружать для этого я предлагаю U, чтобы сделать еще один массив NSMutableArray
типа предположит, что copymyArray
.... и после перезагрузки myArray передают объекты myArray в copymyArray. Теперь во второй строке индекса строки укажите copymyArray ........ и по индексу отдыха tableview дайте myArray. Надеюсь, это поможет u!
Просто сделай так ..................
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *[email protected]"cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:celltype];
for (UIView *view in cell.contentView.subviews) {
[view removeFromSuperview];
}
if (cell == nil)
{
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"cell"] autorelease];
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
cell.backgroundColor=[UIColor clearColor];
//cell.textLabel.text=[[resultarray objectAtIndex:indexPath.row] valueForKey:@"Service"];
cell.backgroundView=[[[UIImageView alloc]initWithImage:[UIImage imageNamed:@"cell.png"]]autorelease];
// [[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"back.png"]] autorelease];
cell.selectionStyle=UITableViewCellSelectionStyleNone;
}
UILabel *productCodeLabel = [[UILabel alloc] initWithFrame:CGRectMake(105, 7, 60,20)];
productCodeLabel.textColor = [UIColor whiteColor];
productCodeLabel.backgroundColor=[UIColor clearColor];
productCodeLabel.text=[NSString stringWithFormat:@"%@",@"Code"];
[cell.contentView addSubview:productCodeLabel];
[productCodeLabel release];
UILabel *CodeValueLabel = [[UILabel alloc] initWithFrame:CGRectMake(170, 7, 140,20)];
CodeValueLabel.textColor = [UIColor whiteColor];
CodeValueLabel.backgroundColor=[UIColor clearColor];
CodeValueLabel.text=[NSString stringWithFormat:@"%@",[[productArray objectAtIndex:indexPath.row]valueForKey:@"ID"]];
[cell.contentView addSubview:CodeValueLabel];
[CodeValueLabel release];
UILabel *productNameLabel = [[UILabel alloc] initWithFrame:CGRectMake(105, 35, 60,20)];
productNameLabel.textColor = [UIColor whiteColor];
productNameLabel.backgroundColor=[UIColor clearColor];
productNameLabel.text=[NSString stringWithFormat:@"%@",@"Name"];
[cell.contentView addSubview:productNameLabel];
[productNameLabel release];
UILabel *NameValueLabel = [[UILabel alloc] initWithFrame:CGRectMake(170, 35, 140,20)];
NameValueLabel.textColor = [UIColor whiteColor];
NameValueLabel.backgroundColor=[UIColor clearColor];
NameValueLabel.text=[NSString stringWithFormat:@"%@",[[productArray objectAtIndex:indexPath.row]valueForKey:@"Title"]];
[cell.contentView addSubview:NameValueLabel];
[NameValueLabel release];
UILabel *dateLabel = [[UILabel alloc] initWithFrame:CGRectMake(105, 68, 60,20)];
dateLabel.textColor = [UIColor whiteColor];
dateLabel.backgroundColor=[UIColor clearColor];
dateLabel.text=[NSString stringWithFormat:@"%@",@"Date"];
[cell.contentView addSubview:dateLabel];
[dateLabel release];
UILabel *dateValueLabel = [[UILabel alloc] initWithFrame:CGRectMake(170, 68, 140,20)];
dateValueLabel.textColor = [UIColor whiteColor];
dateValueLabel.backgroundColor=[UIColor clearColor];
dateValueLabel.text=[NSString stringWithFormat:@"%@",[[productArray objectAtIndex:indexPath.row]valueForKey:@"PostedDate"]];
dateValueLabel.font=[UIFont systemFontOfSize:14];
dateValueLabel.numberOfLines=3;
dateValueLabel.adjustsFontSizeToFitWidth=YES;
[dateValueLabel setLineBreakMode:UILineBreakModeCharacterWrap];
[cell.contentView addSubview:dateValueLabel];
[dateValueLabel release];
/*
UILabel *DetailLabel = [[UILabel alloc] initWithFrame:CGRectMake(185, 15, 100,20)];
DetailLabel.textColor = [UIColor blackColor];
DetailLabel.backgroundColor=[UIColor clearColor];
[cell.contentView addSubview:DetailLabel];
[DetailLabel release];*/
return cell;
}
У меня есть массив с ключами, поэтому я использую ключ, как well.But если вы просто иметь массив без ключей. Тогда вам не нужно писать ValuForKey: @ «Id», вы можете пропустить значение для key.Hope, это поможет вам, я дал вам полный код.
Спасибо, sabby! Я попробовал нечто подобное. При той же функции, после проверки, что ячейка не равна nil, я запустил цикл, начинающийся с 0 до количества элементов, оставшихся в моем массиве. Используя значение цикла, я обратился к каждой метке и установил ее как cell.contentView, а затем выпустил метку. Однако ничего не появилось. Я уверен, что есть недостаток в моем подходе. – narda
Вам нужно следовать тому же подходу к ячейке, что и я, а затем вы также можете реализовать свою собственную логику. Но не делайте ничего в блоке if (cell == nil), делайте что-нибудь после этого, зацикливая aur, что когда-либо .... И попытайтесь принять ответ, если он вам поможет. – Sabby
Я придерживался того же подхода, что и вы упомянули. Я тоже не включил никого. после того, как я завершу цикл if, я поставлю цикл for. У меня действительно есть изменения, которые могут облегчить ситуацию. Я хочу, чтобы метки отображались в таблице только при нажатии определенной кнопки. – narda
- 1. iOS: динамическое добавление данных из UITableView в NSArray
- 2. Динамическое добавление строки данных
- 3. Динамическое добавление данных в таблицу
- 4. Динамическое добавление данных в Cytoscape.js
- 5. Добавление данных JSON в UITableView
- 6. Динамическое добавление разделов в UITableView, а затем динамическое добавление подкадров в конкретный раздел.
- 7. Динамическое добавление пользовательского UITableViewCell
- 8. Динамическое добавление ролей данных (сборная роль данных)
- 9. Matlab - динамическое добавление данных в структуру
- 10. Динамическое добавление данных в таблицу View
- 11. Flex + Динамическое добавление данных в список
- 12. Возможно ли динамическое добавление данных в PHP?
- 13. Javascript: динамическое добавление данных в массив
- 14. Динамическое добавление данных в div с SQL?
- 15. Динамическое добавление столбцов в таблицу базы данных?
- 16. Динамическое изменение содержимого UITableView
- 17. Добавление и сохранение данных в UITableView
- 18. Добавление UITableView в ViewController
- 19. Добавление программ программно в UITableView
- 20. Динамическое добавление в Javascript
- 21. Динамическое добавление в словарь
- 22. Динамическое добавление выходов в MonoTouch
- 23. Динамическое добавление данных на страницу HTML
- 24. динамическое добавление данных textarea на страницу
- 25. JavaScript-диаграммы - динамическое добавление точек данных
- 26. Динамическое добавление к структуре данных графика
- 27. Динамическое добавление конечных точек служб данных WCF
- 28. Динамическое добавление dropdownlists без потери данных
- 29. Добавление UITableView в UIViewController
- 30. Добавление в UITableView
Я не уверен, что вы имеете в виду. Не могли бы вы показать мне пример кода. – narda
Мое единственное средство - это сделать другой массив, который содержит свежие данные i.e перезагруженного массива .... и дать этому массиву вторую строку. Надеюсь, понимаешь! – Sudhanshu