导致此错误的原因是什么?线程1:EXC_BAD_INSTRUCTION(代码= EXC_I386_INVOP.subcode = 0x0

时间:2015-09-17 01:30:08

标签: ios swift

请原谅这一点,但我在绳子尽头。我在昨天工作的代码中遇到了上述崩溃。我试图通过数组从view1到view2,然后从view2到view3传递日期。从V1到V2没有问题但是当我从V2到V3时我崩溃了。它是具有不同变量的相同代码。

以下是我如何准备从V1到V2的续集

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) {
    if (segue.identifier == "goToDispenseScreenTwo") {
        var DestViewControllerTwo = segue.destinationViewController as! DispenseScreenTwoViewController;
        DestViewControllerTwo.toPassTwo = enteredDataArrayOne as! [String]
    }
}

这是我称之为segue的地方

if blankData != 1 {
        enteredDataArrayOne = [enterDate.text, enterSeason.text, enterSport.text, enterDispTo.text]
        self.appIsWorking ()
        performSegueWithIdentifier("goToDispenseScreenTwo", sender: self)
        activityIndicator.stopAnimating()
        UIApplication.sharedApplication().endIgnoringInteractionEvents()
    }
    blankData = 0

以下是我如何准备从V2到V3的segue,我在第DestViewControllerThree.toPassThree...行上得到了错误

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) {
    if (segue.identifier == "goToDispenseScreenThree") {
        var DestViewControllerThree = segue.destinationViewController as! DispenseScreenThreeViewController;
        DestViewControllerThree.toPassThree = enteredDataArrayTwo as! [String]
    }
}

这里是我把segue从V2调到V3的地方

if blankData != 1 {
            enteredDataArrayTwo = [toPassTwo, enterPersonnelName.text, enterDrugID.text, enterPackageNumber.text, enterQty.text, enterExpDate.text]
            println(enteredDataArrayTwo)
            self.appIsWorking()
            performSegueWithIdentifier("goToDispenseScreenThree", sender: self)
            activityIndicator.stopAnimating()
            UIApplication.sharedApplication().endIgnoringInteractionEvents()
        }
    blankData = 0

变量toPassTwotoPassThree都是这样定义的

var toPassTwo: [String] = []
var toPassThree: [String] = []

其中toPassTwo在V2上定义,toPassThree在V2上定义。

没有构建错误。我试图将我能想到的所有内容都包含在内,但我当然可能错过了一些东西。拜托,请帮助我深究这一点。谢谢。

0 个答案:

没有答案