将核心数据附加到数组中以增加它的问题

时间:2017-12-20 19:51:33

标签: arrays swift core-data

我正在尝试使用核心数据和数组制作一个简单的闪存卡应用。我在获取标签以打印数组中的下一个元素时遇到问题。当按下下一个按钮时,标签将打印出下一个术语,但之后它只会保留在该术语上,是保存到核心数据还是我只是增加错误的问题?我几乎肯定这是fetchData()函数的问题,我只是不确定它的具体问题是什么或如何解决它。

class saveScreenViewController: UIViewController {

    @IBOutlet var background: UIView!
    @IBOutlet weak var termTextField: UITextField!
    @IBOutlet weak var definitionTextField: UITextField!




    override func viewDidLoad() {
        super.viewDidLoad()

    }


    @IBAction func saveButtonPressed(_ sender: Any) {

        let card = Card(context: context)
        card.term = termTextField.text
        card.definition = termTextField.text

        if(termTextField.text != "" && definitionTextField.text != ""){
            ad.saveContext()
        }

        termTextField.text = ""
        definitionTextField.text = ""

    }

    @IBAction func cancelButton(_ sender: Any) {
        dismiss(animated: true, completion: nil)
    }

}



class ViewController: UIViewController {

    @IBOutlet weak var termLabel: UILabel!
    @IBOutlet weak var definitionLabel: UILabel!

    var fetched = [Card]()
    var fetchedTerm = [String]()
    var fetchedDefinition = [String]()

    override func viewDidLoad() {
        super.viewDidLoad()

       fetchData()

    }

    func fetchData() {
        do {
            fetched = try context.fetch(Card.fetchRequest())
            for each in fetched {
                termLabel.text = each.term
                definitionLabel.text = each.definition
                fetchedTerm.append(each.term!)
                fetchedDefinition.append(each.definition!)

            }
        } catch {

        }


    }

    @IBAction func nextButton(_ sender: Any) {

        var termIterator = fetchedTerm.makeIterator()
        var nextTerm = termIterator.next()
        termLabel.text = nextTerm

    } 

}

0 个答案:

没有答案