iPhone:UITableView部分

iPhone:UITableView部分,iphone,uitableview,Iphone,Uitableview,我有一个带有分区的表视图 - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { return numberHigherThen0; } 在cellForRowAtIndexPath方法中,我根据节设置行 - (UITableViewCell *)tableView:(UITableView *)aTableView cellForRowAtIndexPath:(NSIndexPat

我有一个带有分区的表视图

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
        return numberHigherThen0;
}
在cellForRowAtIndexPath方法中,我根据节设置行

- (UITableViewCell *)tableView:(UITableView *)aTableView
        cellForRowAtIndexPath:(NSIndexPath *)indexPath {
   if (0 == indexPath.section) {
       //setup rows
   } esle {
     //setup rows
   }
}
节中的节数和行数会动态更改。但节数始终大于0。所以在cellForRowAtIndexPath.section==0中,总是会出现这种情况,对吗?但有时CellForRowatineXpath未通过大小写indexath.section==0!!!为什么?什么时候可能是真的?cellForRowAtIndexPath何时可以从1开始计数节

更新: 第2节在NumberOfSectionsTableView中没有行

:指定节数-但是,节数从0开始

因此,如果在NumberOfSectionsTableView中返回3,您将有三个部分—第0部分、第1部分和第2部分。

在NumberOfSectionsTableView中:您指定了部分的数量—但是,这些部分是从0开始编号的


因此,如果在NumberOfSectionsTableView中返回3,您将有三个部分—第0部分、第1部分和第2部分。

tableView:cellForRowAtIndexPath:
仅在表格视图需要刷新给定索引路径处的单元格时调用


因此,如果应用程序启动时可以看到section 0,那么您应该至少收到一次section==0的呼叫。在后续刷新中,如果UITableView认为不需要刷新节0,则可能会跳过该节。这可能就是你看到的


使用
reloadrowsatinexpaths:withRowAnimation:
,或
reloadSections:withRowAnimation:
,等通知UITableView行已更改,需要刷新它。

tableView:cellForRowAtIndexPath:
仅在表格视图需要刷新给定索引路径上的单元格时调用


因此,如果应用程序启动时可以看到section 0,那么您应该至少收到一次section==0的呼叫。在后续刷新中,如果UITableView认为不需要刷新节0,则可能会跳过该节。这可能就是你看到的


使用
reloadRowsAtIndexPaths:withRowAnimation:
,或
reloadSections:withRowAnimation:
,等告诉UITableView行已更改,需要刷新它。

那么为什么indexPath.section==0有时从不为真?该节可能不可见,或者该节可能根本没有行?该节是可见的,它有一行,那么为什么indexath.section==0有时永远不会为真?该节可能不可见,或者该节可能根本没有行?该节是可见的,它有一行“因此,如果应用程序启动时可以看到section 0,是的,您应该至少收到一次section==0的呼叫。“但我没有,问题是,您是否为此分区向
tableView:numberOfRowsInSection:
返回一个>0的号码?如果分区没有行,则UITableView将不会尝试获取它的行…”因此,如果应用程序启动时分区0可见,是的,您应该至少收到一次分区==0的呼叫。“但我没有,问题是您是否为此分区向
tableView:numberOfRowsInSection:
返回了一个>0的数字?如果该分区没有行,则UITableView将不会尝试获取该分区的行。。。