- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试设置此分段表以在不同部分中显示不同的 JSON 数组,但出于某种原因,如果我在第一部分之后的任何部分中有更大的行数,我会得到 [__NSArrayM objectAtIndex:]: index 3 Beyond边界 [0 .. 2]。这就是我设置每个部分行数的方式,在 viewdidload 上设置数组,一旦填充了所有数组,我就调用重新加载
[self.tableView PerformSelectorOnMainThread:@selector(reloadData) withObject:nil waitUntilDone:YES];
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
switch (section) {
case 0:
return [_team1 count];
break;
case 1:
return [_team2 count];
break;
case 2:
return [_team3 count];
break;
case 3:
return [_team4 count];
break;
case 4:
return [_team5 count];
break;
default:
return section;
break;
}
}
对于 cellForRowAtIndex,我有这个,Team1 - Team5 是我用来从 JSON 填充数组的字典类:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
Team1 *team1= [_team1 objectAtIndex:indexPath.row];
Team2 *team2= [_team2 objectAtIndex:indexPath.row];
Team3 *team3= [_team3 objectAtIndex:indexPath.row];
Team4 *team4= [_team4 objectAtIndex:indexPath.row];
Team5 *team5= [_team5 objectAtIndex:indexPath.row];
cell = [tableView dequeueReusableCellWithIdentifier: CellIdentifier];
if (cell == nil) {
[tableView registerNib:[UINib nibWithNibName:@"TeamCell" bundle:nil] forCellReuseIdentifier:@"Cell"];
cell = [tableView dequeueReusableCellWithIdentifier:@"Cell"];
}
isShowingDetails = NO;
for(UILabel *v in cell.details)
{
v.alpha = 0;
}
cell.clipsToBounds = YES;
cell.selectionStyle = UITableViewCellSelectionStyleNone;
cell.accessoryType = UITableViewCellAccessoryNone;
if(indexPath.section == 0){
[cell.name setText:team1.name];
[cell.institute setText:team1.institute];
[cell.line setText:team1.line];
[cell.email setText:team1.email];
[cell.mobile setText:team1.mobile];
[cell.postal setText:team1.postal];
[cell.instituteAdd setText:team1.office];
[cell.instituteWeb setText:team1.web];
[cell.linkedWeb setText:team1.link];
}
if(indexPath.section == 1)
{
[cell.institute setText:team2.institute];
[cell.line setText:team2.line];
[cell.email setText:team2.email];
[cell.mobile setText:team2.mobile];
[cell.postal setText:team2.postal];
[cell.instituteAdd setText:team2.office];
[cell.instituteWeb setText:team2.web];
[cell.linkedWeb setText:team2.link];
}
if(indexPath.section == 2)
{
[cell.institute setText:team3.institute];
[cell.line setText:team3.line];
[cell.email setText:team3.email];
[cell.mobile setText:team3.mobile];
[cell.postal setText:team3.postal];
[cell.instituteAdd setText:team3.office];
[cell.instituteWeb setText:team3.web];
[cell.linkedWeb setText:team3.link];
}
if(indexPath.section == 3)
{
[cell.institute setText:team4.institute];
[cell.line setText:team4.line];
[cell.email setText:team4.email];
[cell.mobile setText:team4.mobile];
[cell.postal setText:team4.postal];
[cell.instituteAdd setText:team4.office];
[cell.instituteWeb setText:team4.web];
[cell.linkedWeb setText:team4.link];
}
if(indexPath.section == 4)
{
[cell.institute setText:team5.institute];
[cell.line setText:team5.line];
[cell.email setText:team5.email];
[cell.mobile setText:team5.mobile];
[cell.postal setText:team5.postal];
[cell.instituteAdd setText:team5.office];
[cell.instituteWeb setText:team5.web];
[cell.linkedWeb setText:team5.link];
}
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
return cell;
}
最佳答案
那是因为您从切换部分检索了 Team
的详细信息。只需将它移到里面即可。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
cell = [tableView dequeueReusableCellWithIdentifier: CellIdentifier];
if (cell == nil) {
[tableView registerNib:[UINib nibWithNibName:@"TeamCell" bundle:nil] forCellReuseIdentifier:@"Cell"];
cell = [tableView dequeueReusableCellWithIdentifier:@"Cell"];
}
isShowingDetails = NO;
for(UILabel *v in cell.details)
{
v.alpha = 0;
}
cell.clipsToBounds = YES;
cell.selectionStyle = UITableViewCellSelectionStyleNone;
cell.accessoryType = UITableViewCellAccessoryNone;
if(indexPath.section == 0){
Team1 *team1= [_team1 objectAtIndex:indexPath.row];
[cell.name setText:team1.name];
[cell.institute setText:team1.institute];
[cell.line setText:team1.line];
[cell.email setText:team1.email];
[cell.mobile setText:team1.mobile];
[cell.postal setText:team1.postal];
[cell.instituteAdd setText:team1.office];
[cell.instituteWeb setText:team1.web];
[cell.linkedWeb setText:team1.link];
}
if(indexPath.section == 1)
{
Team2 *team2= [_team2 objectAtIndex:indexPath.row];
[cell.institute setText:team2.institute];
[cell.line setText:team2.line];
[cell.email setText:team2.email];
[cell.mobile setText:team2.mobile];
[cell.postal setText:team2.postal];
[cell.instituteAdd setText:team2.office];
[cell.instituteWeb setText:team2.web];
[cell.linkedWeb setText:team2.link];
}
if(indexPath.section == 2)
{
Team3 *team3= [_team3 objectAtIndex:indexPath.row];
[cell.institute setText:team3.institute];
[cell.line setText:team3.line];
[cell.email setText:team3.email];
[cell.mobile setText:team3.mobile];
[cell.postal setText:team3.postal];
[cell.instituteAdd setText:team3.office];
[cell.instituteWeb setText:team3.web];
[cell.linkedWeb setText:team3.link];
}
if(indexPath.section == 3)
{
Team4 *team4= [_team4 objectAtIndex:indexPath.row];
[cell.institute setText:team4.institute];
[cell.line setText:team4.line];
[cell.email setText:team4.email];
[cell.mobile setText:team4.mobile];
[cell.postal setText:team4.postal];
[cell.instituteAdd setText:team4.office];
[cell.instituteWeb setText:team4.web];
[cell.linkedWeb setText:team4.link];
}
if(indexPath.section == 4)
{
Team5 *team5= [_team5 objectAtIndex:indexPath.row];
[cell.institute setText:team5.institute];
[cell.line setText:team5.line];
[cell.email setText:team5.email];
[cell.mobile setText:team5.mobile];
[cell.postal setText:team5.postal];
[cell.instituteAdd setText:team5.office];
[cell.instituteWeb setText:team5.web];
[cell.linkedWeb setText:team5.link];
}
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
return cell;
顺便说一句,当您为 5 个团队创建 5 个类,而它们具有相同的属性并代表相同的实体时,这不是优化。如果你有超过 5 个团队怎么办?想想看!希望有所帮助:)
关于ios - numberOfRowsInSection 计数将所有部分行设置为第一个部分计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23771567/
我正在为我的应用程序使用 RxSwift,RxCocoa ,并实现了tableView。 当它从tableModel的viewModel获取priceData时,它显示了priceData的完整列表。
我已经在 swift 中设置了 tableview 的 delegate 和 datasource ,节数返回正确的值,但 numberOfRowsInSection 始终返回 4。所以我有两个问题
我有 6 个 NSMutableArray(monday,tuesday...saturday),我将其添加到 NSMutableArray“day”我在这个方法中做“numberOfRowsInSe
我正在尝试设置此分段表以在不同部分中显示不同的 JSON 数组,但出于某种原因,如果我在第一部分之后的任何部分中有更大的行数,我会得到 [__NSArrayM objectAtIndex:]: ind
我有一个使用 AFNetworking 加载数据的应用程序,解析收入 JSON 数据并填充表。我使用不同的类来管理 JSON 并填充 UITableView。 我需要正确设置行数。问题是,我猜它的方法
当第一次调用以下数据源时 - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { return self.fir
我正在从手机的音乐库中获取音乐专辑。我想将专辑分成几个部分(专辑封面作为部分标题图像),然后专辑歌曲将填充每个部分表。 我知道如何获取一组专辑,这些专辑将用于 numberOfSectionsInTa
我有三个数据(日期、 View 、文本字段)。我使用 SQLite(FMDB)。并且,它输出到 TableView 。当您运行此代码时,所有部分都会输出相同的单元格。我想在每个日期的文本字段和单元格中
我有一个 iphone 应用程序,它从作为 rss 提要的 xml 文件中读取“类别”字段。我的应用程序的工作方式是它按 xml“类别”字段中的类别在表格 View 中显示 rss 提要的内容。 我对
我在我的 View Controller 中设置了一个 UITableView,用于填充函数返回的 JSON 数据。当我加载 MatchCenterViewController 时,应用程序崩溃并且我
我正在从 appcoda 开发一个简单的表格应用程序。我对 numberOfRowsInSection 方法感到困惑。当我在 numberOfRowsInSection 方法中使用 NSLog 在控制
我得到了一个 nil,我不知道为什么。每次我选择 tableViewController1 并执行 segue 时,它都会崩溃并将错误发送给我 tableViewController2。我设置标识
我按以下方式设置 TableView DataSource: MyTable.dataSource = ViewController 使用实现协议(protocol)UITableViewDataSo
在 Swift 2 中,开发一个 UITableView,它将根据字典的内容动态创建单元格。该词典有 38 个词条。当我在属性检查器中手动将 TableView 部分设置为 38 行时,一切都按预期工
我真的需要帮助,因为我是 Swift 的新手。我遇到一个问题,我找不到返回 numberOfRowsInSection 的方法 场景: 我从 sectionArray 返回的 TableView 中有
我在尝试运行我的应用程序时不断遇到此问题。编译成功: GNU gdb 6.3.50-20050815 (Apple version gdb-1518) (Thu Jan 27 08:30:35
大家好,这是我的第一篇文章。我试图在 TableView 中显示动态数据: 我在 Dictionary 中有数据像这样var dizionarioComuni : Dictionary> = [:]对
数据已填充,但是[tableView numberOfRowsInSection:0]始终返回0。我的表中只有一部分。哪些类型的事物会导致此行为? 最佳答案 如果表中始终只有一个部分,请遵循以下命令.
我在 storybord 和 UISegmentedControl 中有一个 tableView 来用不同的数据和不同的设计填充上面提到的表格。我的问题是 numberOfRowsInSection
在我的 iOS 应用程序中,我有一个 SQLite 数据库,其中有一个包含许多行的 items 表。我避免将所有项目加载到内存中,而是仅加载当前显示在 UITableView 中的项目。 我正在使用S
我是一名优秀的程序员,十分优秀!