如何在数组 [Int] 中追加新数据并使用更新的数组来呈现 tableViewRows 并使其与操作

问题描述

我编写了一个应用程序,它在 tableView 中显示一个无穷大的质数列表。 我有一个自定义单元格,里面有 2 个 UIView 和 UILabel。 我有一个函数,它返回质数数组 [[Prime1,Prime2],[Prime3,Prime4],etc]。

在 TableViewController 中,我有 arrOfPrimes,从 1 到 100

在委托方法“willDisplay”中,我调用 primeNumbers 函数并将新数据附加到我现有的数组中 '''if indexPath.row == prime.count - 1

什么时候

tableView.reloadData()

它可以工作,但它会滞后并冻结用户界面一段时间。

我试着用预取方法找出来,但失败了.. 我想我应该使用操作并使其在后台同步?但如何,我不 知道。

这是我生成素数的代码

'''

static func findPrimeNumberlist(fromNumber:Int,toNumber: Int) -> [[Int]] {
        var primes = [Int]()
     for i in (fromNumber + 1)...toNumber
            {
                var isPrime = true
                if i <= 1 { // number must be positive integer
                    isPrime = false
                }
                else if i <= 3 {
                    isPrime = true
                }
                else {
                    for j in 2...i/2 // here i am using loop from 2 to i/2 because it will reduces the  iteration.
                    {
                        if i%j == 0 { // number must have only 1 factor except 1. so use break: no need to check further
                            isPrime = false
                            break
                        }
                    }
                }
                if isPrime  {
                    primes.append(i)
                }
            }
        let primesArr = primes.chunked(into: 2)
        return primesArr
    }

'''

和分块功能(保罗哈德森坦克你) '''

extension Array {
    func chunked(into size: Int) -> [[Element]] {
        return stride(from: 0,to: count,by: size).map {
            Array(self[$0 ..< Swift.min($0 + size,count)])
        }
    }
}

'''

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...