Передача данных в ячейки таблицы - PullRequest
1 голос
/ 22 февраля 2012

Я пытаюсь передать значения в ячейку таблицы, но когда я заменяю строку на userdata.title, она отображается пустой.userdata - это объект другого класса UserData, который является внешним, и я импортировал его.Пользовательские данные доступны из всех представлений для передачи объектов из одного контроллера в другой.Теперь, как передать значение в таблицу и как его сохранить, если я решу добавить больше значений через мое текстовое поле?

- (void)viewDidLoad
{    


tabledata = [[NSMutableArray alloc] initWithObjects:@"hello", nil];
 tablesubtitles = [[NSMutableArray alloc] initWithObjects:@"hello", nil];
[super viewDidLoad];

//if I use "userdata.title" in replacemnent of @"hello" above, the table show up blank



//self.navigationItem.rightBarButtonItem = self.editButtonItem;

}

//--------------------------------------

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section;
{
return [tabledata count];

}



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

UITableViewCell *cell = nil;

cell = [tableView dequeueReusableCellWithIdentifier:@"homeworkcell"];

if(cell == nil)
{
    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle    reuseIdentifier:@"homeworkcell"];

}
cell.textLabel.text = [tabledata objectAtIndex:indexPath.row];
cell.detailTextLabel.text = [tablesubtitles objectAtIndex:indexPath.row];
cell.textLabel.font = [UIFont systemFontOfSize:14.0];

//static NSString *CellIdentifier = @"Cell";

/* if (cell == nil) {
    cell = [[UITableViewCell alloc]
            initWithStyle:UITableViewCellStyleSubtitle
            reuseIdentifier:CellIdentifier];
}*/

// Configure the cell.
//-----------------------------------------START----------------------------Set image of     cell----
cellImage = [UIImage imageNamed:@"checkboxblank.png"];

cell.imageView.image = cellImage;

//--------------------------------------------END---------------------------end set image of cell--  

return cell;

}

1 Ответ

0 голосов
/ 22 февраля 2012

Чтобы передать ваши данные из одного ViewController (например, vc1) в другой (vc2), вы можете установить свойство в качестве конечного контроллера.Таким образом, для описанного выше UIViewController вы должны добавить в .h

@property (nonatomic, retain) UserData *tableDatas;

Затем в контроллере представления vc1 у вас будет:

vc2.tableDatas = userdatas;

Наконец, в методе UITableViewDelegate:

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

Вы можете просто использовать:

cell.textLabel.text = [self.tableDatas objectAtIndex:indexPath.row];

Должна быть некоторая настройка, но основные части здесь.

Удачи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...