2015-09-04 2 views
1

Я хотел обновить поля 2, как только totalAmount было отредактировано, я пытаюсь следующее:Как обновить текстовое поле2 на основе редактирования текстового поля1?

totalAmount.addTarget(self, action: "changeTextField2:", forControlEvents: UIControlEvents.EditingDidEndOnExit) 

func changeTextField2(textField: UITextField) { 
     print("Total amount: \(totalAmount.text)") 
     //amount vat - calculate vat based on textField 
     amountVAT.text = "88" 
    } 

И я коплю значение текстового поля с

func newItem(){ 

    let context = self.context 
    let ent = NSEntityDescription.entityForName("List", inManagedObjectContext: context) 


    let nItem = List(entity: ent!, insertIntoManagedObjectContext: context) 
    let numberFormatter = NSNumberFormatter() 

    nItem.amountVAT = numberFormatter.numberFromString(amountVAT.text!) 
    .....more values 
    nItem.invoiceImage = UIImagePNGRepresentation(imageHolder.image!) 

    do { 
    try context.save() 
    } catch { 
     print(error) 
    } 
} 
func saveValues(sender: AnyObject) { 

     if nItem != nil { 
      editItem() 
     } else { 
      newItem() 
     } 

     dismissVC() 
    } 

ответ

2

Это может быть сделано с помощью метода UITextFieldDelegate использовать эту функцию 1.)

textField1.delegate = self 

2.)

func textFieldDidEndEditing(textField: UITextField) 
{ 
    if textField == textField1 
    { 
     textField2.text = textField1.text 
    } 
} 

теперь его Шифрование до вас, как вы измените totalAmount.

+0

TextField, но когда я сохранить новое значение TextField он сохраняет пустое значение? – alex

+0

Показать код – baydi

+0

Я обновил свой вопрос с кодом сохранения – alex

1

Использования функции делегата от UITextField - textFieldDidEndEditing: для вашего текстаField1. После этой функции вы можете получить значение textField1, и вы можете редактировать textField2.

Apple Documentation for UITextFieldDelegate

0

Изменить код этого totalAmount.addTarget(self, action: "changeTextField2:", forControlEvents: UIControlEvents.EditingChanged)

т.е. изменить UIControlEvents на «EditingChanged» обновляется