[英]Delegate method in Swift, fatal error
我正在尝试在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()
将myDelegate!.appendName(name)更改为myArrStore.appendName(name)
我认为发生这种情况是因为您从未设置myDelegate
。 而且由于myDelegate
为nil
,调用myDelegate!.appendName(name)
导致myDelegate
。
但是请先阅读一些基本概念:
首先->搜索“委派”
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.