我的UITableView
有问题。当UIViewController
结束时加载UITableViewCell
大约需要4秒,以便第一次加载。当我再次呼叫我的UIViewController
时,它正确加载。我错过了什么 ?
任何帮助将不胜感激:)
加载UIViewController
override func viewDidLoad() {
super.viewDidLoad()
self.tableView.backgroundColor = UIColor.blackColor()
self.webview.backgroundColor = PPP.COLOR.BackgroundDarkBrown
self.webview.contentMode = UIViewContentMode.ScaleAspectFit
self.webview.suppressesIncrementalRendering = true
self.webview.alpha = 0
self.tableView.alpha = 1
self.tableView.registerNib(UINib(nibName: "SummaryProduct", bundle: NSBundle.mainBundle()), forCellReuseIdentifier: "cell1")
self.tableView.registerNib(UINib(nibName: "SummaryOrder", bundle: NSBundle.mainBundle()), forCellReuseIdentifier: "cell2")
}
我的TableView宣言
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
// FOR ORDER
if section == 1 { return 1 }
// FOR PRODUCT LIST
let count = self.cart.getTotalProducts()
if count > 0 { return count }
return count
}
func tableViewForCellProduct(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("cell1", forIndexPath: indexPath) as SummaryProductTableViewCell
cell.configureCellWithIndexPath(self, indexPath: indexPath, cart: self.cart)
return cell
}
func tableViewForCellOrder(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath ) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("cell2", forIndexPath: indexPath) as SummaryOrderTableViewCell
cell.configureCellWithIndexPath(self, indexPath: indexPath, cart: self.cart)
return cell
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
switch indexPath.section {
case 0:
return self.tableViewForCellProduct(tableView, cellForRowAtIndexPath: indexPath)
default:
return self.tableViewForCellOrder(tableView, cellForRowAtIndexPath: indexPath)
}
}
答案 0 :(得分:1)
延迟可能是第一次加载细胞。第二次他们可能在某个地方缓存。
您可以通过在应用加载的应用委托中创建两个单元格来延迟加载时间,这很可能预先填充任何缓存,这意味着您的第一次使用将与第二次使用一样快。