Я следую руководству по использованию цепочки для ключей и предпочитаю понять, как работает код, прежде чем углубляться в учебник.Я заметил, что в этом классе с именем MasterViewController он назначает UIBarButtonItem со стилем редактирования для переменной navigationItem.leftBarButtonItem.Код не создает экземпляр этой кнопки редактирования где-либо в кодовой базе, поэтому мне интересно узнать, как это работает?Когда я пытаюсь сделать следующее, это не работает:
navigationItem.rightBarButtonItem = camera
Почему это так?
Учебное пособие, которому я следую, находится здесь, на веб-сайте Ray Weinerlich:
Вот код для MasterViewController:
class MasterViewController: UIViewController, UITableViewDelegate {
// MARK: - IBOutlets
@IBOutlet var tableView: UITableView!
// MARK: - Properties
var detailViewController: DetailViewController?
var managedObjectContext: NSManagedObjectContext?
var isAuthenticated = false
var didReturnFromBackground = false
var _fetchedResultsController: NSFetchedResultsController<Note>?
// MARK: - View Life Cycle
override func viewDidLoad() {
super.viewDidLoad()
navigationItem.leftBarButtonItem = editButtonItem
let addButton = UIBarButtonItem(barButtonSystemItem: .add, target: self, action: #selector(insertNewObject(_:)))
navigationItem.rightBarButtonItem = addButton
if let split = splitViewController {
let controllers = split.viewControllers
detailViewController = (controllers[controllers.count-1] as! UINavigationController).topViewController as? DetailViewController
}
}