次のリンクからコードを見てきました。
カスタム テーブル ビュー プロトタイプを使用するためのwww.techtopia.comのチュートリアルからも同様です 。
しかし、まだルート ビューが空白のままです。
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 シミュレーターで実行しようとするとエラーが生成されました。
どんな助けでも大歓迎です。私は今、機知に富んでいます。