Это была очень интересная проблема, и для ее решения необходимо заменить
let saveButton = UIBarButtonItem(title: "Save", style: .plain, target: self, action: #selector(saveTapped))
на
var saveButton: UIBarButtonItem!
и в свой метод viewDidLoad
добавить
saveButton = UIBarButtonItem(title: "Save", style: .plain, target: self, action: #selector(saveTapped))
и окончательный код для viewDidLoad
будет:
override func viewDidLoad() {
super.viewDidLoad()
saveButton = UIBarButtonItem(title: "Save", style: .plain, target: self, action: #selector(saveTapped))
titleTextField.delegate = self
setNavSaveButton()
handleTextFields()
}
И он будет работать совершенно нормально.