Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 向UITableView添加数据/行(一个视图上有多个表)_Iphone_Cocoa Touch - Fatal编程技术网

Iphone 向UITableView添加数据/行(一个视图上有多个表)

Iphone 向UITableView添加数据/行(一个视图上有多个表),iphone,cocoa-touch,Iphone,Cocoa Touch,我到处找了找,似乎不知道该怎么做。我还不知道自己到底在做什么,这对我没有帮助,但我希望这会有所帮助 我正在创建一个iPad应用程序。简言之,它是一个复杂的秒表,将在一个视图上进行拆分(用于运行) 我有一个主时钟和5个分开的按钮。所有这些都有效。但是,我想记录这些分割,我认为在一个可以滚动的表格中记录会很好 我在一个视图上有5个视图。我在网上找到了一些关于“数据源协议”的东西,并且只在一个表中就可以很好地工作。当我试图让每一张桌子都能独立工作时,事情就糟了。而且,对于一个简单的任务来说,它似乎是一

我到处找了找,似乎不知道该怎么做。我还不知道自己到底在做什么,这对我没有帮助,但我希望这会有所帮助

我正在创建一个iPad应用程序。简言之,它是一个复杂的秒表,将在一个视图上进行拆分(用于运行)

我有一个主时钟和5个分开的按钮。所有这些都有效。但是,我想记录这些分割,我认为在一个可以滚动的表格中记录会很好

我在一个视图上有5个视图。我在网上找到了一些关于“数据源协议”的东西,并且只在一个表中就可以很好地工作。当我试图让每一张桌子都能独立工作时,事情就糟了。而且,对于一个简单的任务来说,它似乎是一堆代码

我已经有5个可变数组。我真的不知道该怎么做,任何帮助都会很好

而且,如果可能的话,我需要按一下按钮清理桌子……看起来很简单,但我真的不知道


谢谢

您需要将所有表的UITableViewDelegate和UITableViewDataSource设置为一个类,该类将实现以下方法:

对于UITableViewDataSource:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

当这些方法被传递给调用的tableview时,您应该可以很容易地为相关的tableview返回正确的数据(您已经在NSMutableArray中存储了这些数据)。您仍然需要为阵列显示不同的内容,但我相信您会设法做到这一点。nsindepath基本上告诉您应该显示数组的哪一部分。现在,假设您在一个未分组的表中工作,您只需创建一个新单元格并用数组的内容填充它,数组的内容由indexPath决定:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{
    static NSString *CellIdentifier = @"MyNiceIdentifier";
    cell = [aTableView dequeueReusableCellWithIdentifier:NavigationCellIdentifier];

    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
        cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
        cell.selectionStyle = UITableViewCellSelectionStyleNone;
        cell.tag = 500;
    }

    cell.textLabel = [myArray objectAtIndex:indexPath.row];
}
在另一个数据源方法中,只需返回该数组的计数:

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    if(tableView == myFirstTableView) {
        return [myFirstArray count];
    }
}
您可能最常使用的UITableViewDelegate方法是:

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
用于返回给定索引处单元格的所需高度

设置数据源和委托与执行以下操作一样简单:

myTableView.delegate = ...
myTableView.dataSource = ...
请参阅本文档:

另请参阅本文档:

谢谢您的回复。但是,我不知道如何为每个表实现这一点。我试过了,第二张桌子模仿第一张桌子。“*”是什么意思?非常感谢help.cell.textLabel=[myArray objectAtIndex:indexath.row];
myTableView.delegate = ...
myTableView.dataSource = ...