坚持与tableview

时间:2013-10-24 09:55:48

标签: ios objective-c uitableview

我正在制作一个包含动态表格的应用程序。我设法让它与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但之后停止。它不会将表添加到scrollview。我做错了什么/忘了?

1 个答案:

答案 0 :(得分:0)

我认为你应该改变你的方法..你已经创建了一个UITableView的子类,然后又创建了另一个tableView属性然后你将它分配给自己所有感觉都错了,即使它工作。我没有看到任何子类化的使用,你不是自定义表,所以为什么你继承它?将tableView(拖放)添加到xib或storyboard,然后将outlet连接到mainviewcontroller。您可以使用此方法以某种方式使其工作,但它的错误,不太可读等等