Objective c 如何在动态量为';第'页;

Objective c 如何在动态量为';第'页;,objective-c,ios,Objective C,Ios,我一直在尝试实现一个界面,该界面在UITableViews中显示数据,并在滚动视图中自定义uitableviewcells(为了清晰起见链接到页面控件) 我已经找到了一些教程,它们展示了如何将这些功能彼此分开而不是放在一起实现,但我没有找到任何关于如何将两个自定义UITableView加载到控制器中的内容。现在,我的基本方法是在UIViewController的viewDidLoad中实现这一点: for (int i = 0; i < 4; i++) { CGRect frame

我一直在尝试实现一个界面,该界面在
UITableView
s中显示数据,并在
滚动视图
中自定义
uitableviewcell
s(为了清晰起见链接到
页面控件)

我已经找到了一些教程,它们展示了如何将这些功能彼此分开而不是放在一起实现,但我没有找到任何关于如何将两个自定义
UITableView
加载到控制器中的内容。现在,我的基本方法是在
UIViewController
viewDidLoad
中实现这一点:

for (int i = 0; i < 4; i++) {
    CGRect frame;
    frame.origin.x = self.scrollView.frame.size.width * i;
    frame.origin.y = 0;
    frame.size = self.scrollView.frame.size;

    SceduleTableView *sceduleTable = [[SceduleTableView alloc] initWithFrame:frame];

    [sceduleTable setDelegate:sceduleTable];
    [sceduleTable setDataSource:sceduleTable];
    [self.scrollView addSubview:sceduleTable];
}
该功能实际上没有什么作用,但即使是NSLog也无法访问:

- (NSInteger)numberOfRowsInSection:(NSInteger)section
{
    NSLog(@"Should have %d rows", sceduleItems.count);
    return sceduleItems.count;
}
我知道我试图填充表的数组不是空的,SceduleTableView实例也不是空的(我知道这可能是问题所在)。这些日志为每个SceduleTableView返回此值

NSLog(@"Array sceduleItems contains %d", sceduleItems.count);
NSLog(@"Trying to reload. Self = %@", self);
[self reloadData];

2012-08-13 15:49:32.183 basis[2259:f803] Array sceduleItems contains 340
2012-08-13 15:49:32.184 basis[2259:f803] Trying to reload. Self = <SceduleTableView: 0xbabb800; baseClass = UITableView; frame = (960 0; 320 440); clipsToBounds = YES; layer = <CALayer: 0x6e29660>; contentOffset: {0, 0}>
NSLog(@“数组sceduleItems包含%d”,sceduleItems.count);
NSLog(@“正在尝试重新加载。Self=%@”,Self);
[自重新加载数据];
2012-08-13 15:49:32.183基[2259:f803]数组日程项目包含340个
2012-08-13 15:49:32.184 basis[2259:f803]正在尝试重新加载。自我=

我对iOS开发非常陌生,老实说,我真的不确定我的方法是否正确。非常感谢您的反馈

系统尝试调用方法
tableView:numberOfRowsInSection:
。你还没有定义它。您已经定义了方法
numberOfRowsInSection:
,覆盖了UITableView的默认实现。请不要那样做

你应该定义

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    NSLog(@"Should have %d rows", sceduleItems.count);
    return sceduleItems.count;
}
在您的数据源中


此外,许多开发人员可能不赞成将表视图对象用作他们自己的委托和数据源。也许您想熟悉一个更常见的设计方案的范例。

谢谢,我想正确地覆盖它。我一定没有注意到。另外,感谢您指出正确的阅读材料。我明天就开始干。
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    NSLog(@"Should have %d rows", sceduleItems.count);
    return sceduleItems.count;
}