스위프트 3.0
의 viewDidLoad() 안에 UIBarButton 선언
override func viewDidLoad() {
super.viewDidLoad()
let logout: UIBarButtonItem = UIBarButtonItem.init(title: "Logout", style: .plain, target: self, action: #selector(ViewController.logOut))
}
func logOut() {
print("LogOut")
}
의 viewDidLoad() 외부 UIBarButtonItem 선언 viewDidLoad에 외부 완전히
var logout:UIBarButtonItem = UIBarButtonItem()
override func viewDidLoad() {
super.viewDidLoad()
logout = UIBarButtonItem.init(title: "Logout", style: .plain, target: self, action: #selector(ViewController.logOut))
}
func logOut() {
print("LogOut")
}
선언은()
lazy var logout: UIBarButtonItem = {
UIBarButtonItem.init(title: "Logout", style: .plain, target: self, action: #selector(ViewController.logOut))
}()
모든 작업을해야합니다. 액션 매개 변수에 대한
중 하나는 ViewController
이름을 명시 적으로 지정하거나 그냥 self
을 말할 수있다.
action: #selector(self.logOut)
'viewDidLoad()'메소드 내에'UIBarButton' 항목을 선언 할 수 있습니다. 액틴 방법이 호출되어야합니다. 누락 된 뭔가가있을 수 있습니다. –
@Ashok 답변 해 주셔서 감사합니다. 선언 UIBarButtonItem을 viewDidLoad()에 넣으면 작동합니다. 그런데 왜 선언을 viewDidLoad() 외부에 둘 수 없습니까? – littlebear333