我正在尝试在Swift中实现委托方法。
这是我得到的错误:fatal error: unexpectedly found nil while unwrapping an Optional value
我做错了什么?
import UIKit
protocol myProtocol {
func appendName(name: String)
}
class MyArrayStore: NSObject, myProtocol {
var myArray: [String] = ["Apple", "Carrot", "Orange"]
func appendName(name: String) {
myArray.append(name)
println("\(myArray)")
}
}
import UIKit
class ViewController: UIViewController {
let myArrStore = MyArrayStore()
var myDelegate: myProtocol!
@IBAction func addName(sender: UIButton) {
let name = "John"
myDelegate!.appendName(name) // fatal error: unexpectedly found nil while unwrapping an Optional value
}
}
我在ApplicationDidFinishLaunching中的AppDelegate中初始化MyArrayStore类:
var myStore: MyArrayStore = MyArrayStore()
答案 0 :(得分:0)
为myArrStore.appendName(名称)更改myDelegate!.appendName(name)
答案 1 :(得分:0)
我认为这是因为您从未设置myDelegate
。而且,因为myDelegate!.appendName(name)
是myDelegate
而致nil
,您将会崩溃。
但请先阅读一些基本概念:
首先 - >搜索“代表团”