如何检查核心数据是否为空?

时间:2016-12-30 10:16:01

标签: ios swift core-data

我正在使用核心数据来填充集合视图。现在我想检查它是否为空。如果它是空的我想做其他的东西。我怎样才能做到这一点?

if myJokes.isEmpty == true {
    noFavorites.isHidden = false
  }

我试过检查它喜欢这个,但它不起作用:

class ViewController2: UIViewController, UICollectionViewDelegateFlowLayout, UICollectionViewDelegate, UICollectionViewDataSource {

    var myJokes : [MyJokes] = []

    override func viewDidLoad() {
        super.viewDidLoad()

        getData()
        myCollectionView.reloadData()
    }

    func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
        return myJokes.count
    }

    func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
        let cell = myCollectionView.dequeueReusableCell(withReuseIdentifier: "cell", for: indexPath) as! CollectionViewCell2
        if myJokes.isEmpty == true {
            noFavorites.isHidden = false
        }
        cell.backView.layer.cornerRadius = 10
        let task = myJokes[indexPath.row]
        cell.textLabel.text = task.favoriteJokes!
        return cell
    }

    func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
        return CGSize(width: myCollectionView.frame.width, height: 58)
    }

    func getData() {
        let context = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext
        do {
        myJokes = try context.fetch(MyJokes.fetchRequest())
        } catch {}
    }

    @IBAction func menuBtnPressed(_ sender: Any) {
        if menuShowing {
            menuConstraint.constant = -171
            UIView.animate(withDuration: 0.4, animations: {
                self.view.layoutIfNeeded()
            })
}

0 个答案:

没有答案