【发布时间】:2018-08-02 06:30:58
【问题描述】:
我是 Swift 新手,遇到了线程 1:信号 SIGABRT 错误。
预期: 我正在对主视图控制器页面上的元素使用滑动导航:左(反射)、右(目标)和上(洞察)。
实际: 左右按预期工作;但是, up 会触发 SIGABRT 错误。
我已经阅读了这个 StackOverflow thread,我似乎没有任何不完整的出口,但我也不清楚每个触发的 segue 是否需要一个伴随的呈现 segue,或者如果需要,如何正确添加它:
下面是名为“ViewController2”的主视图控制器
//主要
class ViewController2: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let leftSwipe = UISwipeGestureRecognizer(target: self, action: #selector(swipeAction(swipe:)))
leftSwipe.direction = UISwipeGestureRecognizer.Direction.left
self.view.addGestureRecognizer(leftSwipe)
let rightSwipe = UISwipeGestureRecognizer(target: self, action: #selector(swipeAction(swipe:)))
rightSwipe.direction = UISwipeGestureRecognizer.Direction.right
self.view.addGestureRecognizer(rightSwipe)
let upSwipe = UISwipeGestureRecognizer(target: self, action: #selector(swipeAction(swipe:)))
upSwipe.direction = UISwipeGestureRecognizer.Direction.up
self.view.addGestureRecognizer(upSwipe)
}
这是 up 视图控制器,名为“ViewController3”
//洞察
class ViewController3: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let upSwipe = UISwipeGestureRecognizer(target: self, action: #selector(swipeAction(swipe:)))
upSwipe.direction = UISwipeGestureRecognizer.Direction.up
self.view.addGestureRecognizer(upSwipe)
}
- Insights 具有相应的 ViewController3 类
- ViewController2 类的要点
- 从 Main 到 Insights 的故事板 segue 标识符名为“goUp”
感谢您的建议和帮助!
【问题讨论】:
-
发生这种情况时能否在控制台中给出错误信息?
-
@cristik 谢谢!聪明的澄清。修复:我删除了额外的 Case 4 参数 (swipeDown),因为我没有将它用于该主视图控制器。 2018-08-01 23:03:09.779549-0700 Kintsugi Mindful Wellness[63589:12403287] *** 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“接收器(<0x7fb00151eaf0>0x7fb00151eaf0>