У меня есть простая модель E-Numbers
, и она читается из CSV-файла. Я кэширую данные в переменную eNummers
в моем ViewController, поэтому я могу выполнять операции с базовым массивом, такие как eNummers[0]
, eNummers[1]
.Swift UITableView очень медленный
Я читал из массива в tableView:cellForRowAtIndexPath
, но когда я прокручиваю 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()' do? –
'функ getAllNummers() -> CSwiftV { пусть nummers = CSwiftV (String: self.contents как строки!) возврата nummers }' – jbehrens94
Поместите число в массив. – dasdom