因此,我以编程方式附加视图并在所述视图中设置标签,但似乎没有设置这些标签。我的意思是xib中的默认值显示,而不是我设置的实际值。
这是我追加视图的方式 -
-(UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath {
if([self.resultsTuples count] != 0){
NSDictionary* rowData = self.resultsTuples[indexPath.row];
UITableViewCell* tableCell = [self.resultTable dequeueReusableCellWithIdentifier:CellTableIdentifier];
UIView* cardView = [cardChooser getCardView:rowData];
[tableCell addSubview:cardView];
return tableCell;
} else {
return nil;
}
这是我创建视图的方法 - 函数返回视图 -
-(UIView*)getProductResultView:(NSDictionary*)component{
ProductResultViewController* productVC = [[ProductResultViewController alloc] initWithNibName:@"ProductResultView" bundle: nil];
NSArray* priceArray = somePriceArray;
NSString* price = [somePriceArray objectAtIndex:0];
[productVC setPrice: price];
[productVC setDescription: someDescription];
[productVC setTitle:someTitle];
return productVC.view;
}
这就是视图控制器的样子 -
-(void)setTitle:(NSString *)title{
_productTitle = title;
self.titleLabel.text = title;
}
-(void)setPrice:(NSString*)price{
_price = price;
NSLog(@"_ PRICE : %@", _price);
self.priceLabel.text = price;
NSLog(@"PRICE LABEL : %@", self.priceLabel.text);
}
-(void)setDescription:(NSString *)description{
_description = description;
self.descriptionLabel.text = description;
}
-(void)setType:(NSString *)type{
_type = type;
self.typeLabel.text = type;
}
-(void)viewWillAppear:(BOOL)animated{
self.typeLabel.text = _type;
self.priceLabel.text = _price;
self.titleLabel.text = _productTitle;
self.descriptionLabel.text = _description;
}
设置标签后,尽管价格实际设置(并且不为空),但价格标签的日志会打印出null。此外,未调用viewWilAppear(在我已经完成的其他视图中,我通过在viewWillAppear中设置内容来解决此问题)。
那么为什么我会遇到这个问题呢?我该如何解决这个问题呢?