swift - 线程 1 : EXC_BAD_INSTRUCTION (code=EXC_1386_INVOP, 子代码=0x0)

标签 swift exc-bad-instruction

距离真正让这个应用程序运行起来已经很近了。还有一个问题。现在,我的应用程序将运行,当下一个 View Controller 尝试显示时,它会给我一个错误。我正在展示一个带有引用和作者的 ViewController。我收到此错误

Thread 1: EXC_BAD_INSTRUCTION (code=EXC_1386_INVOP,subcode=0x0)

输出如下:

fatal error: unexpectedly found nil while unwrapping an Optional

这是有错误的代码:

import Foundation
import UIKit
import Social

class businessQuote: UIViewController {

//============================//
//********** Outlets *********//
//============================//

let utility = Utility()
@IBOutlet weak var quoteDisplay: UILabel!
@IBOutlet weak var authorDisplay: UILabel!
  //GET BACK TO THIS

//============================//
//********** General *********//
//============================//

let date = NSDate()
var Author: String = ""
var Quote: String = ""

override func viewDidLoad() {
    super.viewDidLoad()
    
    // Generates Random Number
    func randomNumber(arrayLength: Int) -> Int {
        let unsignedArrayCount = UInt32(arrayLength)
        let unsignedRandomNumber = arc4random_uniform(unsignedArrayCount)
        let randomNumber = Int(unsignedRandomNumber)
        
        
        return randomNumber
    }
    
    // Importing Quotes plist File
    let businessQuote = ImportList(FileName: "BusinessList")
    
    // Selects Quote
    let chosenQuote: String = businessQuote.array[randomNumber(businessQuote
        .count())] as! String
    let chosenAuthor = ((businessQuote.dict[chosenQuote]))! as String //This Is Where the error is
    
    
    // Assigns Quote & Author to IBOutlet
    Author = chosenAuthor
    Quote = chosenQuote
    
    quoteDisplay.text = Quote
    authorDisplay.text = Author.uppercaseString
    
}

}

enter image description here

提前谢谢您!

编辑 21 年 12 月:替换图像以省略名称

最佳答案

由于使用强力展开而导致崩溃。

使用IF LET检查数据是否存在的最佳实践,因为 IF LET 会执行此操作(展开)。

This way Try once : 
if let mStringvalue = businessQuote.dict[chosenQuote]{
  print(mStringvalue)
}

关于swift - 线程 1 : EXC_BAD_INSTRUCTION (code=EXC_1386_INVOP, 子代码=0x0),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36871398/

相关文章:

swift - 如何从 CGPDFPage 获取 PDF 框大小

swift - 无法使用 Firebase 观察方法通过完成处理程序或任何其他方式传递已完成的数组

swift - fatal error - 解包可选值时意外发现 nil

swift - EXC_BAD_INSTRUCTION(代码 = EXC_I386_INVOP,子代码 = 0x0)

xcode - Swift SpriteKit 中的子类化

c++ - 异常(exception):使用C++的EXC_BAD_INSTRUCTION(代码= EXC_I386_INVOP,子代码= 0x0)

ios - 如何使用 AppDelegate 在 View 之间共享 iAd 横幅

xcode - 当我快速滚动时,collectionView 中的图像正在发生变化

ios - 为什么当我 pop/self.dismiss 我的 WKInterfacecontroller 时不调用 deinit

xcode - swift 错误 : class RecordSoundsViewController has no initializers