相关疑难解决方法(0)

iOS:使用insertRowsAtIndexPaths在UITableview中插入多行

我在TableView中已有10行我想要做的是添加另外10行,因为我使用的是insertRowsAtIndexPaths但是我收到了错误.

以下是我正在使用的代码

-(void)insertDownloadedActions:(NSMutableArray *)dataToAdd
{
        __weak CurrentViewController *weakSelf = self;

        int64_t delayInSeconds = 2.0;
        dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC);
        dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
            [weakSelf.tableView beginUpdates];
            [weakSelf.dataSource addObjects:dataToAdd];
            NSIndexPath *newIndexPath = [NSIndexPath indexPathForRow:[weakSelf.dataSource count]-dataToAdd.count-1 inSection:0];
            [weakSelf.tableView insertRowsAtIndexPaths:@[newIndexPath] withRowAnimation:UITableViewRowAnimationTop];
            [weakSelf.tableView endUpdates];
        });
}
Run Code Online (Sandbox Code Playgroud)

但是我得到了以下错误

Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Invalid update: invalid number of rows in section 0.  The number of rows contained in an existing section after the update (20) must be equal to the number of …
Run Code Online (Sandbox Code Playgroud)

iphone objective-c uitableview ios

10
推荐指数
2
解决办法
2万
查看次数

如何在不重新加载UITableView或单个单元格的情况下增加单行高度[Swift]?

我想扩展行高并显示内容.我在视图中显示我的内容,当我点击一个单元格时它应该展开,如下图所示,但没有重新加载UITableview.

图片

我到现在为止做了什么.

1)我尝试扩展内部视图,但它没有用

2)我尝试添加rowAtIndex它变得复杂了

3)我尝试更改更改行高度并滚动索引它工作正常,但我不想那样.(我必须重新加载表视图的坏事)

但我得到了很多答案,但它没有解决我的问题,因为我在数组(数据源)中的数据不断更新,如果我在特定索引处刷新索引中数组中的数据可能不同它可能显示错误的输出.

说明

我的意思是我有一个struct数组,我一直在后台更新它,一旦数据发生变化并重新加载表视图,但如果我在索引处重新加载行,如果数组中的数据已经更改,它可能显示重复正确吗?所以我想只是改变行的高度而不进行任何重新加载.

重装的问题是

虽然扩展数据可能会在数组中发生变化.所以我已经创建了一个视图,所有信息都预先加载,一旦我点击单元格的高度应该从45变为76,一旦我从最后一个单元格76到45再次点击不同的单元格,这个单元格45到76.

iphone uitableview ios swift

10
推荐指数
4
解决办法
1万
查看次数

标签 统计

ios ×2

iphone ×2

uitableview ×2

objective-c ×1

swift ×1