【发布时间】:2017-01-21 21:49:48
【问题描述】:
委托方法不调用UIBarItem。我经历了很多建议,都和我写的一样。
我按照建议尝试了,没有解决方案。到处都给了代表。我做了每一件事。
class ViewController: CommonClass,Mydelegate {
var vc = CommonClass()
override func viewDidLoad() {
super.viewDidLoad()
vc = CommonClass(nibName: "CommonClass", bundle: nil)
initializeCartBarButton()
vc.delegate = self
print( (vc.delegate))
}
func testing() {
print("hello")
}
}
class CommonClass: UIViewController {
var delegate:Mydelegate?
func initializeCartBarButton() {
let cartBarButton = UIBarButtonItem()
cartBarButton.title = "cart"
cartBarButton.target = self
cartBarButton.action = Selector("goToCart")
self.navigationItem.rightBarButtonItem = cartBarButton;
}
func goToCart() {
print("hi")
if self.delegate?.testing() != nil {
self.delegate?.testing()
}else {
print(self.delegate)
}
}
}
【问题讨论】:
-
触摸时是否打印出“hi”消息?
-
是,但如果条件失败
-
下一个打印是“nil”?
-
您的 MyDelegate 看起来如何?
-
@ShadowOf 是的。自定义委托,只是打印你好(不打印)。
标签: ios iphone swift delegates