Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/106.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Swift UITableView真的很慢_Ios_Iphone_Uitableview_Swift2 - Fatal编程技术网

Ios Swift UITableView真的很慢

Ios Swift UITableView真的很慢,ios,iphone,uitableview,swift2,Ios,Iphone,Uitableview,Swift2,我有一个简单的模型E-Numbers,它读取.csv文件。我将数据缓存到ViewController中的变量eNummers,以便执行基本数组操作,例如eNummers[0],eNummers[1] 我从tableView:cellforrowatinexpath中的数组中读取数据,但是当我滚动tableView时,它确实非常缓慢和滞后。我如何优化这一点: func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath

我有一个简单的模型
E-Numbers
,它读取.csv文件。我将数据缓存到ViewController中的变量
eNummers
,以便执行基本数组操作,例如
eNummers[0]
eNummers[1]

我从
tableView:cellforrowatinexpath
中的数组中读取数据,但是当我滚动
tableView
时,它确实非常缓慢和滞后。我如何优化这一点:

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        var cell = tableView.dequeueReusableCellWithIdentifier("globalCell") as UITableViewCell!

        if cell == nil {
            cell = UITableViewCell(style: UITableViewCellStyle.Value1, reuseIdentifier: "globalCell")
        }

        if (self.eNummers?.getAllNummers().rows[indexPath.row] != nil) {
            cell.textLabel?.text = self.eNummers?.getAllNummers().rows[indexPath.row][0]
            cell.detailTextLabel?.text = self.eNummers?.getAllNummers().rows[indexPath.row][1]

            switch (self.eNummers?.getAllNummers().rows[indexPath.row][2])! {
                case "GOOD":
                    cell.textLabel?.textColor = UIColor.greenColor()
                break
                case "MODERATE":
                    cell.textLabel?.textColor = UIColor.orangeColor()
                break
                case "BAD":
                    cell.textLabel?.textColor = UIColor.redColor()
                break
                default:
                    cell.textLabel?.textColor = UIColor.blackColor()
                break
            }

        }

        return cell
    }

函数
getAllNummers()
正在加载一个CSV文件,并对每个单元格进行4次解析。这将是你的大减速。您应该加载和解析文件一次,并将值存储在属性中,然后使用该属性访问所需的值

您的函数
getAllNummers()
正在加载CSV文件并对每个单元格进行4次解析。这将是你的大减速。您应该加载和解析文件一次,并将值存储在属性中,然后使用该属性访问所需的值

您的函数
getAllNummers()
正在加载CSV文件并对每个单元格进行4次解析。这将是你的大减速。您应该加载和解析文件一次,并将值存储在属性中,然后使用该属性访问所需的值

您的函数
getAllNummers()
正在加载CSV文件并对每个单元格进行4次解析。这将是你的大减速。您应该加载和解析文件一次,并将值存储在属性中,然后使用该属性访问所需的值

什么是
getAllNummers()
do?
func getAllNummers()->CSwiftV{let nummers=CSwiftV(String:self.contents as!String)返回numers}
将数字放入一个数组。您应该调用
getAllNummers
一次,然后直接在
cellForRowAtIndexPath
中访问数组。此外,如果您已经注册了单元类或正在使用故事板,则
无法返回。Il-这似乎是事实,因为您使用了
as
如果返回nil,将引发异常。
getAllNummers()
做什么?
func getAllNummers()->CSwiftV{let nummers=CSwiftV(String:self.contents as!String)返回numers}
将数字放入一个数组。您应该调用
getAllNummers
一次,然后直接在
cellForRowAtIndexPath
中访问数组。此外,如果您已经注册了单元类或正在使用故事板,则
无法返回。Il-这似乎是事实,因为您使用了
as
如果返回nil,将引发异常。
getAllNummers()
做什么?
func getAllNummers()->CSwiftV{let nummers=CSwiftV(String:self.contents as!String)返回numers}
将数字放入一个数组。您应该调用
getAllNummers
一次,然后直接在
cellForRowAtIndexPath
中访问数组。此外,如果您已经注册了单元类或正在使用故事板,则
无法返回。Il-这似乎是事实,因为您使用了
as
如果返回nil,将引发异常。
getAllNummers()
做什么?
func getAllNummers()->CSwiftV{let nummers=CSwiftV(String:self.contents as!String)返回numers}
将数字放入一个数组。您应该调用
getAllNummers
一次,然后直接在
cellForRowAtIndexPath
中访问数组。此外,如果您已经注册了单元类或正在使用故事板,则
无法返回。Il-这似乎是事实,因为您使用了
as
如果返回nil将引发异常。这解决了我的问题,非常感谢!:)澄清一下:我将解析部分添加到我的模型的init构造函数中,然后在tableView中调用了一个属性。这解决了我的问题,非常感谢!)澄清一下:我将解析部分添加到我的模型的init构造函数中,然后在tableView中调用了一个属性。这解决了我的问题,非常感谢!)澄清一下:我将解析部分添加到我的模型的init构造函数中,然后在tableView中调用了一个属性。这解决了我的问题,非常感谢!)澄清一下:我将解析部分添加到了模型的init构造函数中,然后在tableView中调用了一个属性。