【发布时间】:2018-09-12 18:28:13
【问题描述】:
我正在开发一个类似 Facebook 的应用程序,如果帖子太长,它会被删减,最后会出现“查看更多”,其中包含一些点击事件。 (我使用FRHyperLabel)
一切正常,但我有一个问题:如果格式化+事件在 tableView: cellForRowAt indexPath: 中被清除,对性能有影响吗?
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
var message : message
var cell : MessageCell
let message = self.messages[indexPath.row]
// World Message
cell = tableView.dequeueReusableCell(withIdentifier: "essageCell", for: indexPath) as! MessageCell
cell.messageLabel.attributedText = message.limitMessageMax250char()
//Add link if needed
if message.count > appSettings.maxCharacters.message {
let handler = {
(hyperLabel: FRHyperLabel!, range: NSRange!) -> Void in
self.alert(title: "Test", message: "Alert: because clicked on link")
}
let text = cell.messageLabel.text!
let nsRange = text.calculateUnicodeScalar(start: text.unicodeScalars.count-8, len: 8) // See more is 8 characters
cell.messageLabel.setLinkFor(nsRange, withLinkHandler: handler)
}
return cell
}
或者我应该在 Cell 的文件中执行它,当它是 awakeFromNib + 与委托
【问题讨论】:
标签: swift xcode performance cell