задаване на текст в tableView

Искам програмно да задам текст в моя UITableView. Не искам да го правя от

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

Пробвах нещо подобно

[self.tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:1 inSection:0]].textField.text = @"test";

Това не работи, тъй като това не е част от структурата. Как го правя? Търсих в документите, но не мога да го намеря.


person munchine    schedule 22.10.2010    source източник
comment
Защо не искате да го направите в метода cellForRowAtIndexPath?   -  person    schedule 22.10.2010
comment
Искам да заредя моя tableView с данни от ABPeoplePickerNavigationControllerDelegate. Затова си помислих, че е лесно просто да задам своя tableView.textField.text от ABPeoplePickerNavigationControllerDelegate.   -  person munchine    schedule 22.10.2010
comment
Не мога да дам подробен отговор в момента, но трябва да поставите данните, получени от ABPeoplePicker, в някакъв обект X и да прочетете този обект в cellForRowAtIndexPath. След като ABPeoplePicker приключи, можете да извикате reloadData в табличния изглед, за да го накарате да показва актуализираните данни.   -  person    schedule 22.10.2010


Отговори (1)


Искате да използвате textLabel, а не textField. Като цяло това е лоша идея. Трябва да предоставите правилната клетка в -tableView:cellForRowAtIndexPath:. Ако искате да коригирате само една клетка, можете да използвате -[UITableView reloadRowsAtIndexPaths:withRowAnimation:].

person Ben Gottlieb    schedule 22.10.2010
comment
Прав си, това е доста лоша идея. Правилният подход е както е предложен от aBitObvious. - person munchine; 22.10.2010