-1

内部に動的テーブルを含むアプリを作成しています。MainviewController 内のテーブルで動作させることができましたが、今は立ち往生しています。テーブルコードを独自のクラスに入れようとしました。奇妙なことは、エラーが発生しないことです。これは私がすることです: MainviewController.m:

CGRect frame;
frame.origin.x = self.scrollView.frame.size.width * 0;//0 will later be i
frame.origin.y = 0;
frame.size.width = self.scrollView.frame.size.width;

TellerTable *tellerTable = [[TellerTable alloc] initWithFrame:frame style:UITableViewStyleGrouped];

[tellerTable loadWithJsonData:JSONArray];
[tellerTable setDataSource:tellerTable];


[self.view addSubview:tellerTable];
[tellerTable reloadData];

TableTeller.m:

-(void)loadWithJsonData:(NSArray *)JA
{
   self.JSONArray = JA;
   tableview = self;

   self.delegate = self;
   self.dataSource = self;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    NSMutableArray *TellerItems = [JSONArray objectAtIndex:section];
    return TellerItems.count;
}

(残りはcellForRowAtIndexPathなどのテーブルを作成します。) TellerTable.h

@interface TellerTable : UITableView <UITableViewDataSource, UITableViewDelegate>
{
    UITableView *tableview;
}

@property (nonatomic, retain) IBOutlet UITableView *tableview;
@property (nonatomic, retain) IBOutlet NSArray *JSONArray;
    -(void)loadWithJsonData:(NSArray *)JA;
@end

奇妙なことに、loadwithJSON に移動し、numberOfRowsInSection を呼び出しますが、その後停止します。テーブルをスクロールビューに追加しません。私は何を間違っていますか/忘れていますか?

4

1 に答える 1

0

アプローチを変更する必要があると思います.. UITableView のサブクラスを作成し、同じ上に別の tableView プロパティを作成してから、それを自分自身に割り当てているのは、機能していてもすべて間違っていると感じています。ここではサブクラス化の使用は見られません。テーブルをカスタマイズしていないのに、なぜサブクラス化するのですか? tableView(ドラッグアンドドロップ)をxibまたはストーリーボードに追加し、アウトレットをmainviewcontrollerに接続します。この方法を使用して何とか動作させることができるかもしれませんが、エラーが発生しやすく、読みにくいなどです。

于 2013-10-24T10:19:47.287 に答える