ÜbersichtSpeicher eine ganze Zahl im Kerndaten
ich mehrere Textfelder in Coredata, aber nur die ersten (gesehen als picker unten) speichern und druckt richtig sparen müssen. Die anderen werden nicht korrekt gespeichert, zum Beispiel wenn ich versuche, die ganzzahligen zu speichern, bekomme ich eine Fehlermeldung, dass sie keinen String nehmen können, was Sinn macht. Ich kann einfach keinen Weg finden, das Integer-String-Problem zu beheben. Der andere Fehler tritt auf, wenn ich versuchte, alles als String zu interpretieren (hauptsächlich, weil ich keine Arithmetik darauf anwenden muss, also spielt es keine Rolle), und es gibt mir nur einen Bruchpunkt in der saveButton-Funktion.
Was Ich mag möchte wissen
Was ich letztlich brauchen, ist die Fähigkeit, alle diese Textfeldern in Coredata zu speichern, damit ich sie später abrufen können. Ich schätze die Hilfe im Voraus. Vielen Dank!
HINWEIS
ich die gesamte bin auch (oder die meisten) die ViewController.swift Datei, so dass Sie sehen können, wie ich die Dinge bin erklärt und dann, wie sie genannt werden. Der betreffende Code befindet sich in der Aktion saveButton am unteren Rand des Codeblocks.
CODE
@IBOutlet weak var locationOfMachine: UITextField!
@IBOutlet weak var engineHours: UITextField!
@IBOutlet weak var YOM: UITextField!
@IBOutlet weak var serialNo: UITextField!
@IBOutlet weak var modelName: UITextField!
@IBOutlet weak var pickerTextField: UITextField!
var pickOption = ["Wirtgen","Kleeman","Hamm","Vögele"]
override func viewDidLoad() {
super.viewDidLoad()
var pickerView = UIPickerView()
pickerView.delegate = self
pickerTextField.inputView = pickerView
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int {
return 1
}
@IBAction func saveButton(sender: AnyObject)
{
var appDel: AppDelegate = (UIApplication.sharedApplication().delegate as! AppDelegate)
var context:NSManagedObjectContext = appDel.managedObjectContext
var entity1 = NSEntityDescription.insertNewObjectForEntityForName("UsedInfo", inManagedObjectContext:context) as NSManagedObject
entity1.setValue(pickerTextField.text, forKey: "product")
entity1.setValue(modelName.text, forKey:"modelName")
entity1.setValue(serialNo.text, forKey:"serialNo")
entity1.setValue(Int(YOM.text!), forKey:"yom")
entity1.setValue(engineHours.text, forKey:"engineHours")
entity1.setValue(locationOfMachine.text, forKey:"location")
print(entity1.valueForKey("product"))
print(entity1.valueForKey("modelName"))
print(entity1.valueForKey("serialNo"))
print(entity1.valueForKey("yom"))
print(entity1.valueForKey("engineHours"))
do {
try context.save()
}
catch {
print("error")
}
}
EDIT
Beim Versuch, alles nur als eine Zeichenfolge zu speichern, da ich es nur abrufen müssen, ich laufe in dieser Ausgabe:
entity1.setValue(pickerTextField.text, forKey: "product")
entity1.setValue(modelName.text, forKey:"modelName")
entity1.setValue(serialNo.text, forKey:"serialNo") <-Thread1:Breakpoint1.1
entity1.setValue(YOM.text, forKey:"yom")
entity1.setValue(engineHours.text, forKey:"engineHours")
entity1.setValue(locationOfMachine.text, forKey:"location")
print(entity1.valueForKey("product"))
print(entity1.valueForKey("modelName"))
print(entity1.valueForKey("serialNo"))
print(entity1.valueForKey("yom"))
print(entity1.valueForKey("engineHours"))
Ich bekomme auch "(lldb)" im Debugger-Fenster.
Danke! Nochmal, riesiges noob hier, aber was genau ist eine Objektunterklasse? – gavsta707
Wenn Sie mit Ihrem Kerndatenmodell arbeiten, verfügt das Xcode-Editor-Menü über die Option "Create NSManagedObject Subclass ...". Damit können Sie spezifische Klassen erstellen, die zu Ihrem Design passen, anstatt sich immer mit generischen 'NSManagedObject'-Typen zu befassen. –
Danke! Ich werde das untersuchen – gavsta707