“调用参数'风格'的参数缺失创建系统中的错误UIBarButtonItem
我不明白为什么编译器要求在这个系统样式的UIBarButtonItem初始化程序中的style参数的参数 - 它没有参数在第一位。帮帮我?这是Swift的错误吗?“调用参数'风格'的参数缺失创建系统中的错误UIBarButtonItem
class ExpensesViewController: UIViewController {
lazy var newExpenseBarButtonItem = UIBarButtonItem(barButtonSystemItem: .Add, target: self, action: Selector("newExpenseBarButtonItemTapped:"))
func newExpenseBarButtonItemTapped() {
}
}
这将删除编译器错误消息:
class ExpensesViewController: UIViewController {
lazy var newExpenseBarButtonItem = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.UIBarButtonSystemItemAdd.value,
target:self, action:Selector("newExpenseBarButtonItemTapped:"))
func newExpenseBarButtonItemTapped() {
}
}
.Add
不是一个有效的值
你在'UIBarButtonSystemItem.UIBarButtonSystemItemAdd'后添加了什么'.value'?似乎无法得到错误消失对我来说:( – 2014-09-25 18:25:23
上述答案完全失败与Xcode 6.1b2 – 2014-09-25 18:37:07
对我来说也失败了,当我尝试基于设置标题的初始化器,它给了我一个错误,我缺少景观图像参数,似乎完全混淆了。 – 2014-11-03 15:37:21
无需添加选择动词的动作。
class ExpensesViewController: UIViewController {
lazy var newExpenseBarButtonItem = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Add,
target:self,
action:"newExpenseBarButtonItemTapped")
func newExpenseBarButtonItemTapped()
{
}
}
如果在类范围中使用self
,则会收到许多奇怪的编译器消息。它看起来像swift编译器还不成熟。以下代码在Xcode版本6.1.1(6A2008a)上正常工作。
class Foo {
var playButton:UIBarButtonItem? = nil
func initButtons(){
self.playButton = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Play, target: self, action: Selector("doPlay:"))
}
}
你有没有得到一个有效的答案呢? – 2014-09-25 13:50:19
@AaronBratcher是的,见下文。 – 2014-09-25 14:03:24