Ios Swift:PrepareForegue正在运行但未加载ViewController

Ios Swift:PrepareForegue正在运行但未加载ViewController,ios,xcode,swift,Ios,Xcode,Swift,我仍在尝试在iOS中链接UIViewControllers等。我在赛格身上遇到了很多荒谬的问题,但那将是我的错,因为我几乎没有接受任何训练就陷入了困境 无论如何,我目前有一个prepareForSegue可以完美地运行每一行,然后通过UINavigationController到达目的地。但是,目标UIViewController不会显示,应用程序会自动崩溃-没有任何错误 有没有办法根据经验得到此类撞车的潜在原因列表 诸如“检查分段拼写”和“不在ViewDidLoad中执行分段”之类的事情已经被

我仍在尝试在
iOS
中链接
UIViewControllers
等。我在赛格身上遇到了很多荒谬的问题,但那将是我的错,因为我几乎没有接受任何训练就陷入了困境

无论如何,我目前有一个
prepareForSegue
可以完美地运行每一行,然后通过
UINavigationController
到达目的地。但是,目标
UIViewController
不会显示,应用程序会自动崩溃-没有任何错误

有没有办法根据经验得到此类撞车的潜在原因列表

诸如“检查分段拼写”和“不在ViewDidLoad中执行分段”之类的事情已经被排除在外

我觉得清单对于像我这样的新手来说是一个很好的学习编码陷阱的方法,但是如果不可能回答或者答案太多,那么让我知道,我会解决这个问题


谢谢。

检查表可以通过实施协议来修复。。请检查以下WWDC:

此外,关于segues,有几点需要注意(OSX也是如此)

注:

i) 根据定义,序曲是从一个部分到另一个部分(电影中的一个场景或音乐中的一个部分)的过渡。因此,当涉及到视图控制器时,它们是“中间人”

 i.e. ViewController1 <-- segue ->> ViewController2
如果您为“未来”视图控制器做了准备工作,那么请在我标记为“Ifies”的“If”语句的第一部分中进行设置。您可以设置动画、从和到颜色、大小等

完成后,还有另一种方法:

performSegueWithIdentifier:
我举的一个例子是:

override func performSegueWithIdentifier(identifier: String, sender: AnyObject?) {
    if (identifier == "yourIdentifier") {
        Do something here
    } else {
        super.performSegueWithIdentifier(identifier, sender: sender)
    }
}
此时,标识符为
yourIdentifier
的segue实际执行某些操作。i、 e.当viewController在操作或函数中调用时:

func someFunction(){
    self.performSegueWithIdentifier("yourIdentifier", sender: senderObjectName)
}

这当然是如果你已经确定你的赛格在控制器之间等等。。。具有正确的标识符和类型…

好的,所以在查看类、委托等中的错误后,发现这是Swift/XCode本身的错误

罪魁祸首只是页面上的TextView,它需要将其默认文本设置为空白才能加载页面。需要在viewDidLoad中设置任何默认文本

完整的解决方案包含在这里-


知道是否有任何方法可以查看view init期间抛出的错误日志还是很好的,但在这种情况下,这一切都归结为视图上的一个无关紧要的元素。

你能分享你的代码和故事板图像吗?Sry ujjwal-我没有这样做的授权。目前,我更喜欢一种能够看到构建控制器时抛出的错误的方法,因为无声的崩溃是不可能开始调试的。非常感谢你给出了广泛的答案,阿德里安。据我所知,一切都进展顺利,但后来失败了。我已经将segue重定向到一个基本的ViewController,它工作正常,因此假设这意味着目标控制器的init阶段中存在它不喜欢的东西-因此至少有一个起点。您是否检查了
(I)from ViewController是否设置了它的类
(ii)要查看控制器也有它的类设置
,并且segue本身也有它的类设置。。。segue也设置了它的标识符吗?或者将它压缩并放在github上,让我(和其他SE用户看到),这样我们就可以看到发生了什么:)所有3个都设置了类并且正确。有没有一种聪明的方法来解释为什么ViewController没有加载?或者只是注释掉块直到它显示出来?所以注释掉并不容易,因为大约有40个IBoutlet、类、委托等与控制器相关,如果代码被阻塞,则会导致构建失败-真的没有办法看到加载控制器时抛出的错误的物理日志吗?谢谢
func someFunction(){
    self.performSegueWithIdentifier("yourIdentifier", sender: senderObjectName)
}