“-[UIBarButtonItem selectedSegmentIndex]:发送到实例的无法识别的选择器”用于顶部 UIBar 中的分段控件
"-[UIBarButtonItem selectedSegmentIndex]: unrecognized selector sent to instance" for segmented control in top UIBar
我正在使用 Swift 4. 我在顶部 UINavigationBar
的右侧有一个分段控件,如下所示:
当我创建一个从 Storyboard 到我的代码的出口时,默认情况下它希望它是一个 UIBarButtonItem
,但是对于我的操作我无法访问 selectedSegmentIndex
而不将它设为 [=15] =].
所以我的插座是这样的:
@IBOutlet weak var saveAsControl: UISegmentedControl!
我的操作,作为测试,是这样的:
@IBAction func saveAsTypeAction(_ sender: Any) {
print("tapped")
switch saveAsControl.selectedSegmentIndex
{
case 0:
print("video selected")
case 1:
print("gif selected")
default:
break;
}
}
如果我点击分段控件,调试器会崩溃并显示消息:
-[UIBarButtonItem selectedSegmentIndex]
: unrecognized selector sent to instance
所以我不知道如何让分段控制工作。好像跟UINavigationBar
有关系,但不知道为什么会出问题。
您的插座接线可能有误。这是正确的设置:
请注意,出口和动作都连接到分段控件而不是条形按钮本身。
我正在使用 Swift 4. 我在顶部 UINavigationBar
的右侧有一个分段控件,如下所示:
当我创建一个从 Storyboard 到我的代码的出口时,默认情况下它希望它是一个 UIBarButtonItem
,但是对于我的操作我无法访问 selectedSegmentIndex
而不将它设为 [=15] =].
所以我的插座是这样的:
@IBOutlet weak var saveAsControl: UISegmentedControl!
我的操作,作为测试,是这样的:
@IBAction func saveAsTypeAction(_ sender: Any) {
print("tapped")
switch saveAsControl.selectedSegmentIndex
{
case 0:
print("video selected")
case 1:
print("gif selected")
default:
break;
}
}
如果我点击分段控件,调试器会崩溃并显示消息:
-[UIBarButtonItem selectedSegmentIndex]
: unrecognized selector sent to instance
所以我不知道如何让分段控制工作。好像跟UINavigationBar
有关系,但不知道为什么会出问题。
您的插座接线可能有误。这是正确的设置:
请注意,出口和动作都连接到分段控件而不是条形按钮本身。