Пользовательский UITableViewCell с данными из базы данных - PullRequest
0 голосов
/ 20 января 2012

Я делаю пользовательский UITableViewCell.Так что идея состоит в том, чтобы сделать UITableView с какими-то новостями.У этой новости есть тема и описание.У меня есть класс NieuwsTableviewCell и FirstViewController, который является UITableViewController.Я работаю с файлом PHP, чтобы получить мои данные из базы данных.Как получить мои news_topic и описание для каждой новой строки на ярлыках?

Мой файл FirstViewController.m выглядит следующим образом.h file

#define kGETUrl @"http://localhost/getNieuws.php"
@interface FirstViewController : UITableViewController{
     NSMutableArray *json;
}

А это мой файл NieuwsTableViewCell.h

@interface NieuwsTableViewCell : UITableViewCell{
   IBOutlet UILabel *topic;
   IBOutlet UILabel *omschrijving;

}
@property (nonatomic, retain) IBOutlet UILabel *topic;
@property (nonatomic, retain) IBOutlet UILabel *omschrijving;

@end

Может кто-нибудь помочь?

Ответы [ 2 ]

0 голосов
/ 10 января 2014

Проблема здесь:

NSDictionary *info = [json objectAtIndex:indexPath.row];
cell.textLabel.text = [info objectForKey:@"Nie_topic"];
cell = (NieuwsTableViewCell*)view;

В вышеприведенном коде вы устанавливаете свойства UITableViewCell со списком или с нулем, а затем переустанавливаете переменную ячейки, перезаписывая изменения, внесенные вtextLabel, в результате чего тема не отображается.

Рассмотрим следующий код.В отличие от кода, который вы используете в данный момент, оператор if вызывается, если tableView еще не создал ячейку многократного использования, и устанавливает для ячейки подпредставление UITableViewCell в загружаемом вами наконечнике.Вместо того, чтобы устанавливать текст textLabel, когда ячейка равна нулю, мы делаем это для каждой отдельной ячейки, чтобы предотвратить повторное использование проблем и отсутствие показа тем в ячейке.

NieuwsTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

if (cell == nil) {
    NSArray *subViews = [[NSBundle mainBundle] loadNibNamed:@"NieuwsTableViewCell" owner:nil options:nil];

    for (UIView *view in subViews) {
        if([view isKindOfClass:[UITableViewCell class]])
        {
            cell = (NieuwsTableViewCell*)view;
        }
    }
}
NSDictionary *info = [json objectAtIndex:indexPath.row];
cell.textLabel.text = [info objectForKey:@"Nie_topic"];

Редактировать --- ПростоЯ понял, что этому посту ~ 1 год, и в последний раз он обновлялся сегодня. Именно поэтому я разместил ответ.Если это кому-нибудь выгодно, то оно того стоило.

0 голосов
/ 20 января 2012

вы получаете какие-либо данные в этом методе? ..

-(void) getData:(NSData *) data

проверить массив и напечатать каждый словарь в нем ..

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