pickerView und CoreData

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • pickerView und CoreData

    Hallo zusammen,

    ich habe ein PickerView erstellt und möchte die ausgewählte Row im CoreData speichern. Beim öffnen der App soll dann die ausgewählte Reihe wieder angezeigt werden. Wie muss ich hier vorgehen?

    Hier mein Code so weit:

    public var meinArray = ["Item1", "Item2", "Item3", "Item4"]

    func pickerView(_ pickerView: UIPickerView, attributedTitleForRow row: Int, forComponent component: Int) -> NSAttributedString? {
    return NSAttributedString(string: meinArray[row], attributes: [NSAttributedString.Key.foregroundColor: UIColor.white])
    }

    func numberOfComponents(in pickerView: UIPickerView) -> Int {
    return 1
    }

    func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {

    return meinArray[row]
    }

    func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
    return meinArray.count
    }



    func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {

    row = meinArray[row]

    }
  • Naja, den einen Teil - PickerView - hast Du ja schon. Nun stellt sich die Frage, ob Du schon etwas mit Core Data programmiert hast … vermutlich nicht:

    Ich würde mir an Deiner Stelle ein Tutorial dazu suchen (alternativ und ergänzend die Apple-Dokumentation bemühen) und mit einem kleinen Beispiel anfangen:
    • Überlegen, welche Entitäten und Attribute das Datenmodell haben soll
    • Ein Model in Xcode erstellen und damit entsprechende managedObject-Klassen erstellen (lassen)
    • Den Code zum persistentStoreCoordinator und managedObjectContext schreiben
    • In der View über einen Fetch-Request Objekte aus dem entsprechenden Context lesen
    Und dafür viel recherchieren und ausprobieren. Der Zugang zu CD ist m. E. nicht ganz trivial, lohnt sich aber: Du bekommst damit ein sehr mächtiges Werkzeug an die Hand.

    Mattes

    P.S.: Bitte benutze zwecks Lesbarkeit das Code-Tag, wenn Du Quelltext postest.
    Diese Seite bleibt aus technischen Gründen unbedruckt.