Внешний объект класса не содержит данные - PullRequest
0 голосов
/ 22 февраля 2012

У меня есть класс UserData, который я импортировал в этот viewcontroller, но данные в ячейке пустые.И снова userdata - это объект UserData, другого класса.Я сделал #import "UserData.h", но таблица будет пустой, если я добавлю @ "что-то" вместо строки сведений или строки заголовка, она появится в таблице

- (void)viewDidLoad
{
detailsstring = userdata.details;
titlestring = userdata.title;

tabledata = [[NSMutableArray alloc] initWithObjects:detailsstring, nil];
 tablesubtitles = [[NSMutableArray alloc] initWithObjects:titlestring, nil];
[super viewDidLoad];

}

и ...

-(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];

Ответы [ 2 ]

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

Вам необходимо обмениваться данными между контроллерами представления, когда вы используете #import "yourClass", вы создаете новый экземпляр этого класса с тем же именем, но не будете содержать тот же контент (новый будет ноль).Для обмена данными между представлениями вы можете использовать такие же делегаты, как , этот ответ , Core data или SQLite .Но, как я видел из всех ответов и комментариев там, лучше делегете:)

РЕДАКТИРОВАТЬ Как прокомментировал Джек Лоуренс , NSUserDeffaultsне правильный способ обмена данными между классами и объектами.Просто из-за простоты использования я упомянул настройки по умолчанию.Я надеюсь, что это изменение будет полезно для тех, кто увидит этот ответ позже

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

если вы заменяете detailsstring строковым литералом и все работает, то detailsstring должно быть равно нулю в viewDidLoad

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