Как динамически изменить название кнопки панели
Может кто-нибудь, пожалуйста, дайте мне знать, как преобразовать элемент панели кнопок, названный как "сохранить", чтобы "обновить" в контроллере представления при обновлении данных в контроллере представления таблицы. Я использую 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"
}