我正在制作一个包含动态表格的应用程序。我设法让它与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。我做错了什么/忘了?
答案 0 :(得分:0)
我认为你应该改变你的方法..你已经创建了一个UITableView的子类,然后又创建了另一个tableView属性然后你将它分配给自己所有感觉都错了,即使它工作。我没有看到任何子类化的使用,你不是自定义表,所以为什么你继承它?将tableView(拖放)添加到xib或storyboard,然后将outlet连接到mainviewcontroller。您可以使用此方法以某种方式使其工作,但它的错误,不太可读等等