使用UISegmentedControl发送无法识别的选择器

问题描述 投票:2回答:2

我想将UISegmentedControl添加到视图控制器,这是相应的代码:

import UIKit

class QuantityNoImageViewController: UIViewController {
    var food: Food!

    @IBOutlet weak var foodName: UILabel!
    @IBOutlet weak var message1: UILabel!
    @IBOutlet weak var message2: UILabel!
    @IBOutlet weak var message3: UILabel!
    @IBOutlet weak var segmentControl: UISegmentedControl!

    @IBAction func segmentControlPressed(_ sender: UISegmentedControl) {
      switch segmentControl.selectedSegmentIndex {
      case 0: print("one");
      case 1: print("two");
      case 2: print("three")
      default: break;
      }
    }

@IBOutlet segmentControl以及@IBAction segmentControlPressed都设置得很好。

当我运行应用程序时,一切顺利,直到我按下产生以下内容的片段:

2017-12-15 17:22:11.840952+0100 Healthier[3835:248257] -[Healthier.QuantityNoImageViewController segmentedControl1:]: unrecognized selector sent to instance 0x7fc52e03ae00
2017-12-15 17:22:11.863471+0100 Healthier[3835:248257] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[Healthier.QuantityNoImageViewController segmentedControl1:]: unrecognized selector sent to instance 0x7fc52e03ae00'
*** First throw call stack:

我找不到任何指针来帮助我解决这个看似简单的bug。你能帮我一下吗?

ios swift uisegmentedcontrol unrecognized-selector
2个回答
2
投票

您可能已使用此操作连接了多个连接(确切,我的意思是,您已从其他屏幕复制此段控件,并且之前的连接仍未断开连接)

重置/删除此段的所有IBAction连接并重新连接。

故事板/ XIB >>视图控制器>>连接检查器>>重置所有IBAction以进行段控制


0
投票

是的,这解决了我的问题,并帮助我理解我的代码出了什么问题。我非常感谢你的帮助。再次感谢您的专业知识

© www.soinside.com 2019 - 2024. All rights reserved.