我试图聪明地设置UINavigationController中“Back”按钮的所有title
属性,这样我就不必在任何地方self.navigationController.navigationBar.backButtonItem.title = "Back"
或子类{{1并在任何地方设置它,所以我创建了这个扩展名:
UINavigationController
但它说extension UINavigationItem {
open var backBarButtonItem: UIBarButtonItem? {
get {
return self.backBarButtonItem
}
set {
newValue?.title = "Back"
backBarButtonItem = newValue?
}
}
}
。
之前是否有人这样做过,或者能想出一种方法让它发挥作用?
答案 0 :(得分:1)
您收到此错误是因为您无法创建名称与SDK中定义的变量类似的变量。
您无法覆盖现有功能
与您的情况一样,您将其命名为backBarButtonTitle
,open var backBarButtonItem: UIBarButtonItem?
UINavigationBar
类UIKit
中定义为int YOUR_PERMISSION_REQUEST = 1212;
正如Apple的doc中提到的那样
扩展程序可以为类型添加新功能,但它们不能 覆盖现有功能。
答案 1 :(得分:-2)