Ios 控制TableViewCell输出到TableView的次数

Ios 控制TableViewCell输出到TableView的次数,ios,objective-c,uitableview,Ios,Objective C,Uitableview,关于UITableView,我遇到了一些问题。简单地说,我有一个包含用户输入数字的数据数组和一个包含2个部分的表视图:一个部分用于数组的总计数,另一个部分用于数组中的每个数字。这个项目的代码太长太复杂了,我不想随便问一个简单的代码修复,所以这将是一个更一般化的问题 当单元格输出到屏幕时,它们的格式正确(输出到表格视图中的适当部分和单元格)。第二部分输出数组中的每个数字,每行一个数字,但每当在下面的第二部分中输入或写入新数字时,顶部部分在新行中重复“数字总数为:u” 例如: 这张桌子看起来应该像-

关于
UITableView
,我遇到了一些问题。简单地说,我有一个包含用户输入数字的数据数组和一个包含2个部分的表视图:一个部分用于数组的总计数,另一个部分用于数组中的每个数字。这个项目的代码太长太复杂了,我不想随便问一个简单的代码修复,所以这将是一个更一般化的问题

当单元格输出到屏幕时,它们的格式正确(输出到
表格视图中的适当部分和单元格)。第二部分输出数组中的每个数字,每行一个数字,但每当在下面的第二部分中输入或写入新数字时,顶部部分在新行中重复“数字总数为:u”

例如:

这张桌子看起来应该像-

总数为:3

一,

二,

六,

但实际发生的是:

总数为:3

总数为:3

总数为:3

一,

二,

六,

如何控制输出第一部分的次数,同时仍保留由
[array count]
numberOfRowsInSection:
方法中确定的第二部分

**如果您需要进一步的澄清,请随意询问,我知道这是相当模糊的

**更新**

现在,当用户输入的数组为nil时,我需要消除“index 0 beyond bounds of empty array”错误消息。以下是迄今为止
numberofrowsin部分:
方法的代码:

       if (timeline != nil){
       int a = 0;
       switch (section) {
           case 0:
               a = 1;
               break;

           case 1:
               a = timeline.count;
               break;
       }

       return a;
    }

    else {
        return 1;
    } 

我应该进一步修改什么以防止这两个问题发生?

您已经定义了两个部分,所以在 -(NSInteger)表视图:(UITableView*)表视图行数节:(NSInteger)节

如果要为每个表节添加单独的标题,则模式类似: -(NSString*)表格视图:(UITableView*)表格视图标题标题标题部分:(NSInteger)部分{


}

听起来您只想在第一部分中输出1个单元格,因此可以执行以下操作:

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return section == 0 ? 1 : arrayName.count;
}

这将在第一部分中输出1个单元格,并在第二部分中输出一个等于数组长度的数字。希望这对你有帮助

在没有看到相关的表视图数据源方法的情况下,没有很好的答案可以给您。此
UIViewController
中使用了太多来自
#import
的文件,因此我的代码中的变量只会使我的实际问题变得混乱和分散读者的注意力。这就是为什么没有示例代码的原因,因为解释所有变量名的来源、输入方式等都需要很长时间。我说的是“相关代码”。你只需要发布你的
numberofrowsin节:
方法。我认为最好使用
switch
-
case
语句来实现这一目的,否则,这是正确的想法。这是最好的方法。我同意Isaac的意见,并将其留给momodude22来确定他的编码风格:)。否则,主要的想法是,您可以通过检查节号(当然从0开始)来确定每个节的行数。谢谢,我知道我就快到了,但非常感谢!再来一个提示。您也可以为每个部分添加单独的标题。我将编辑我的答案以包括在内。
if (section ==0 ) {
    return @"Title For Section 1";
} else {
    return @"Title For Section 2";
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return section == 0 ? 1 : arrayName.count;
}