2017-03-01 1 views
0

Ich habe eine textfield, wo Benutzer Ereignis eingeben kann. Ich habe zwei Tasten oncbtn(tag:0) und ofcbtn(tag:1), die Benutzer auswählen können. Wenn der Benutzer beispielsweise History101 eingibt und beide Schaltflächen auswählt, sollte er in den beiden Attributen eventNameOnc und eventNameOfc gespeichert werden. Was muss ich hier hinzufügen für dieseWie senden Sie Daten gleichzeitig in zwei Attribute?

@IBAction func eventSave(_ sender: UIButton) { 
    let eventInformation = NSEntityDescription.insertNewObject(forEntityName: "EventSchedule", into: context) 

if sender.tag == 0 { // oncbtn 
     eventInformation.setValue(eventTextField.text, forKey: "eventNameOnc") 
    } 
    else if sender.tag == 1 { // ofcbtn 
     eventInformation.setValue(eventTextField.text, forKey: "eventNameOfc") 
    } 
     do 
     { 
      try context.save() 
     } 
     catch{}  
    } 

Antwort

0

passieren können Sie nur einen @IBAction hinzufügen, um die Schaltfläche Click-Ereignis zu erkennen.

@IBAction func buttonClicked(_ sender: UIButton) { 

    if sender.tag == 0 { // oncbtn 
     eventInformation.setValue(eventTextField.text, forKey: "eventNameOnc") 
    } 
    else if sender.tag == 1 { // ofcbtn 
     eventInformation.setValue(eventTextField.text, forKey: "eventNameOfc") 
    } 
} 
+0

Das ist richtig, aber können Sie Schaltflächenaktion in einer anderen Tastenaktionsmethode hinzufügen. Ich habe meine Frage bearbeitet, bitte sieh sie dir an. – Coder221

+0

gibt es keine Notwendigkeit, das zu tun. Sie können diese beiden Schaltflächen einfach mit derselben "IBAction" verknüpfen und das Attribut "tag" verwenden, um sie zu unterscheiden. – WeiJay

+0

Nun, ich tat das, aber da sie unter EventSave-Schaltfläche sind, sobald Sie auf eine Schaltfläche klicken, wird gespeichert, noch bevor ich auf Speichern klicke und mir keine Zeit gebe, auf eine andere Schaltfläche zu klicken. Bearbeitete Frage erneut für Ihre Referenz – Coder221

Verwandte Themen