你好了一个无法识别的选择器发送到实例异常的问题我已经搜索了一下但是我一直无法找到解决方案。
我认为错误发生在我使用PureLayout但仍然不确定是什么导致了这个问题。一个奇怪的事情是,在使用Carthage制作我的purelayout框架后,我不得不使用一个奇怪的桥接头来导入purelayout,通常导入PureLayout.h但我的代码不能编译,除非我在我的桥接头中导入PureLayout_Ios / Purelayout.h 。所以我必须在我的viewcontroller中导入PureLayout_iOS。
查看:
<project default="default">
<target name="default">
<exec executable="c:/cygwin/bin/bash.exe">
<arg value="-c"/>
<arg value="ls c:/"/>
</exec>
</target>
</project>
这是错误堆栈跟踪:
var presenter: SignUpPresenterProtocol?
//lazy var logoImageView: UIImageView = UIImageView()
lazy var nextButton: UIButton = {
var button = UIButton()
button.backgroundColor = Styles.BUTTON_COLOR
return button
}()
override func viewDidLoad() {
super.viewDidLoad()
self.setupSubviews()
self.setupConstraints()
self.setNeedsStatusBarAppearanceUpdate()
self.presenter?.viewDidLoad()
}
private func setupSubviews()
{
self.view.addSubview(self.nextButton)
self.view.addSubview(self.userNameTextField)
self.nextButton.addTarget(self, action: Selector("userDidSelectNext:"), forControlEvents: UIControlEvents.TouchUpInside)
//self.view.addSubview(self.logoImageView)
}
private func setupConstraints()
{
self.nextButton.translatesAutoresizingMaskIntoConstraints = false
self.nextButton.autoMatchDimension(.Width, toDimension: .Width, ofView: self.view, withMultiplier: 0.8)
self.nextButton.autoSetDimension(.Height, toSize: Styles.BUTTON_HEIGHT)
self.nextButton.autoCenterInSuperview()x
}
func userDidSelectNext(sender: AnyObject)
{
self.presenter?.userDidSelectNext()
}
谢谢你们!
答案 0 :(得分:0)
尝试替换此行......
self.nextButton.addTarget(self, action: Selector("userDidSelectNext:"), forControlEvents: UIControlEvents.TouchUpInside)
代替......
self.nextButton.addTarget(self, action: "userDidSelectNext:", forControlEvents: UIControlEvents.TouchUpInside)
您可以在此处找到苹果文档中的更多信息:Objective C Selectors
答案 1 :(得分:0)
使用carthage更新我的purelayout库后,它已修复,不知道问题是什么,这里是github上最新的changlog。