Как динамически изменить название кнопки панели

Может кто-нибудь, пожалуйста, дайте мне знать, как преобразовать элемент панели кнопок, названный как "сохранить", чтобы "обновить" в контроллере представления при обновлении данных в контроллере представления таблицы. Я использую ios 9, xcode 7.3 и swift 2.2.

Я предоставляю пример кода для кнопки панели.

@IBAction func save(sender: UIBarButtonItem) {

//func Plus(sender: AnyObject) {

    if isUpdate == true{
        print("object id \(self.store?.objectID)")
        self.store?.sTitle = titlename.text
        self.store?.sNote = note.text
        //save.setTitle("my text here", forState: .Normal)
        let img = UIImage(named: "image.jpg")
        let imgData = UIImageJPEGRepresentation(img!,1)
        self.store?.sImage = imgData
        do {
            try appdelegate.managedObjectContext.save()
            self.navigationController?.popViewControllerAnimated(true)
        } catch let error as NSError  {
            print("Could not save \(error), \(error.userInfo)")
        }

    }else{
        //get the description of the entity
        let storeDescription = NSEntityDescription.entityForName("Store",inManagedObjectContext: appdelegate.managedObjectContext)

        //we create managed object to be inserted to core data
        let store = EventsandnotesStore(entity : storeDescription!,insertIntoManagedObjectContext:appdelegate.managedObjectContext)
        store.sTitle = titlename.text
        store.sNote = note.text

        let img = UIImage(named: "image.jpg")
        let imgData = UIImageJPEGRepresentation(img!,1)

       store.sImage = imgData
        do {
            try appdelegate.managedObjectContext.save()
            self.navigationController?.popViewControllerAnimated(true)
        } catch let error as NSError  {
            print("Could not save \(error), \(error.userInfo)")
        }

    }

2 ответа

Решение

Измените название, как это в вашем viewDidLoad

if (isUpdate == true) {
    let item = self.navigationItem.rightBarButtonItem
    item?.title = "Update"
}

Вы могли бы сделать это в viewDidLoad() метод:

if let item = self.navigationItem.rightBarButtonItem {
      item.title = isUpdate ? "Update" : "Save"
}
Другие вопросы по тегам