2014-01-05 6 views
1

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

Я сделал пользовательскую ячейку .xib (foodCell.xib) и установил ее владельцу файла foodCell.h. Я также установил идентификатор foodCell.

enter image description here

До сих пор все, что я в пользовательской ячейке является заказ ярлык - priceLabel. Проблема, с которой я сталкиваюсь, заключается в том, что я не могу установить значение для пользовательской метки или отображать ее во время выполнения.

Вот мой foodcell.h файл:

#import <Parse/Parse.h> 

@interface foodCell : PFTableViewCell 


@property (weak, nonatomic) IBOutlet NSObject *foodCell; 

@property (weak, nonatomic) IBOutlet UILabel *priceLabel; 


@end 

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

Мой NSLOG call-возврат null.

Почему я не могу установить или отобразить эту специальную метку?

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath object:(PFObject *)object { 
static NSString *CellIdentifier = @"foodCell"; 

foodCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
if (cell == nil) { 
    cell = [[foodCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier]; 

} 

// Configure the cell 
cell.textLabel.text = [object objectForKey:@"foodName"]; 
cell.detailTextLabel.text = [object objectForKey:@"foodDescription"]; 
cell.imageView.file = [object objectForKey:@"foodImage"]; 
NSString *myString = @"TEST"; 
cell.priceLabel.text = myString; //[object objectForKey:@"foodPrice"]; 
NSLog(cell.priceLabel.text); 
cell.detailTextLabel.numberOfLines=0; // line wrap 
cell.detailTextLabel.autoresizingMask = UIViewAutoresizingFlexibleHeight; 


return cell; 

}

+0

если вы регистрируете cell.priceLabel, что вы получаете? – sha

+0

Вы зарегистрировали свой Nib с помощью tableView? –

ответ

3

Регистрация Вы Nib с вашим UITableView в viewDidLoad

[self.tableView registerNib:[UINib nibWithNibName:@"foodCell" bundle:nil] forCellReuseIdentifier:@"foodCellIdentifier"]; 

Тогда в cellForRowAtIndexPath: создать ячейку, как показано ниже.

static NSString *CellIdentifier = @"foodCell"; 
foodCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath]; 
+0

Это то, что вам нужно? –

+0

Спасибо, Билал, это определенно меня закрыло. Теперь, когда я изменил свой код на конфигурацию регистра, опубликованную выше, мой initWithStyle: UITableViewCellStyleSubtitle больше не соблюдается. Мои субтитры и изображение исчезли, и, чтобы увидеть мою цену клиента, я должен щелкнуть по ячейке. Что я сделал? – user3085646

+0

@ user3085646 Вы можете установить стиль ячейки в стиле SubTitle в XIB –

Смежные вопросы