我遵循的是一个关于使用钥匙链的教程,我更喜欢在进入教程之前理解代码的工作原理。我注意到在这个名为MasterViewController的类中,它为navigationItem.leftBarButtonItem变量指定了一个具有编辑样式的UIBarButtonItem。代码在代码库的任何地方都没有实例化这个编辑按钮,所以我很想知道它是如何工作的?当我尝试执行以下操作时,它不起作用:
navigationItem.rightBarButtonItem = camera
我下面的教程可以在
Ray Weinerlich Website
:
以下是MasterViewController的代码:
class MasterViewController: UIViewController, UITableViewDelegate {
@IBOutlet var tableView: UITableView!
var detailViewController: DetailViewController?
var managedObjectContext: NSManagedObjectContext?
var isAuthenticated = false
var didReturnFromBackground = false
var _fetchedResultsController: NSFetchedResultsController<Note>?
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
}
}