【发布时间】:2017-05-22 04:46:23
【问题描述】:
我有 10 个独立的视图控制器,每个视图控制器都需要有自己独特的过滤数据集。每个控制器的对象及其属性都是相同的,但集合视图中显示的内容取决于用户在该特定控制器中发布的内容。简单地说,每个星球都需要有自己的数据。我需要 10 个不同的模型吗?或者我可以通过按行星名称排序的领域和使用 NSPredicate 过滤来实现这一点吗?当视图加载时,我的下面的代码崩溃了。
class Planet: Object {
dynamic var name = ""
dynamic var council = ""
dynamic var capitol = ""
dynamic var isAlive = false
dynamic var arrived = Date()
}
class firstVC: UIViewController, UICollectionViewDataSource, UICollectionViewDelegate {
let realm = try! Realm()
var planets : Results<Planet>!
let planet = Planet()
override fun viewDidLoad {
super.viewDidLoad()
planets = realm.objects(Planet.self).sorted(byKeyPath: "name", ascending: false)
planets = realm.objects(Planet.self).filter("name == firstPlanet", "")
}
// Delegate Methods
func numberOfSections(in collectionView: UICollectionView) -> Int {
return 1
}
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return planets.count
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: reuseIdentifier, for: indexPath) as! FirstVC
cell.awakeFromNib()
return cell
}
}
我有一个自定义单元格类 PlanetCell 存储视图,因此是 cell.awakeFromNib。
【问题讨论】:
-
你能给我们崩溃信息吗?
标签: ios swift uicollectionview realm nspredicate