我查看了以下链接中的代码:
Why do my prototype cells show up blank?
以及www.techtopia.com上的教程使用自定义表格视图原型: http://www.techotopia.com/index.php/Using_Xcode_Storyboards_to_Build_Dynamic_TableViews_with_Prototype_Table_View_Cells
但是我的根视图仍然显示为空白。
我已经设置了记录XML解析器委托中数据接收的方法,我知道 数据正在进入,但由于某种原因,除非我使用其中一种默认样式(副标题等),否则我无法使用自己构建的自定义原型。
这是我的示例代码:
对于自定义UITableViewCell类(TickerListViewCell.h):
#import "TickerListViewCell.h"
@implementation TickerListViewCell
@synthesize ticker = _ticker;
@synthesize companyName = _companyName;
@synthesize price = _price;
- (void)setSelected:(BOOL)selected animated:(BOOL)animated
{
[super setSelected:selected animated:animated];
// Configure the view for the selected state
}
@end
(TickerListViewCell.m)
#import <UIKit/UIKit.h>
@interface TickerListViewCell : UITableViewCell
@property (nonatomic, strong) IBOutlet UILabel *ticker;
@property (nonatomic, strong) IBOutlet UILabel *companyName;
@property (nonatomic, strong) IBOutlet UILabel *price;
@end
(TickerListViewController.m) ...
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"CustomStockCell";
TickerListViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil)
cell = [[TickerListViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"CustomStockCell"];
cell.selectionStyle = UITableViewCellSelectionStyleNone;
// Configure the cell...
self.currentStock = [self.mystocks objectAtIndex:[indexPath row]];
cell.ticker.text = self.currentStock.symbol;
cell.companyName.text = self.currentStock.companyName;
cell.price.text = [self.currentStock.askRealtime stringValue];
NSLog(@"Configured cell for stock: %@",[(Stock *)[self.mystocks objectAtIndex:[indexPath row]] symbol]);
return cell;
}
...
我认为问题发生在“cellForRowAtIndexPath”的调用中,因为当我将原型更改为通用字幕时,它可以正常工作,但是我的自定义原型失败了。请记住,我还确保原型单元格的类映射到我的自定义类。
我已尝试取出一些教程指示的“if(cell == nil)”块,但这并没有解决问题。代码没有显示编译前的任何错误,但是一旦我尝试在没有该块的iOS 6模拟器中运行它,就会生成一个错误。
感谢任何帮助。我现在已经知道了。