我正在尝试以UITableViewController
RealmResults<Object>
作为模型构建一个泛型。
这些是我的简化课程:
领域对象:
import RealmSwift
class Test: Object {
dynamic var name = ""
}
表视图单元:
import UIKit
import RealmSwift
class RealmCell: UITableViewCell {
typealias Entity = Test // from above
var object: Entity? {
didSet {
if let object = object {
textLabel?.text = object.name
}
}
}
}
表视图控制器:
import UIKit
import RealmSwift
class RealmTableViewController: UITableViewController {
typealias TableCell = RealmCell // From example above
var objects = try! Realm().objects(TableCell.Entity.self) {
didSet { tableView.reloadData() }
}
// MARK: - UITableViewDataSource
override func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return objects.count
}
override func tableView(_ tableView: UITableView,
cellForRowAt indexPath: IndexPath)
-> UITableViewCell {
let cell =
tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! TableCell
cell.object = objects[indexPath.row]
return cell
}
}
我想不出办法让 TableCell 类型别名为@IBInspectable。我一直在尝试使用NSClassFromString(_:)没有成功。
希望有人可以提供帮助。