只是我正在行使委託模式。我創建了一個簡單的應用程序,在該應用程序中,代理向UIViewController發送消息,說明是否停止或啓動UIActivityIndicatorView。不幸的是,我得到以下錯誤:錯誤阿塔爾:意外地發現無解釋可選值時。 這似乎是UIActivityIndicatorView未初始化。我不明白我錯在哪裏。代表和UIActivityIndicatorView錯誤
protocol ProgressBarDelegate {
func UpdateProgressBar(progress: Bool)
}
class Dao: NSObject {
var delegate: ProgressBarDelegate?
override init() {
super.init()
//DELEGATO
//I who should I send the message? to FirstViewController
let messaggero = FirstViewController()
self.delegate = messaggero
scriviUnMessaggio(progress: true)
}
func scriviUnMessaggio(progress: Bool){
print("I'm writing a message ...")
delegate?.UpdateProgressBar(progress:progress)
}
我控制器
class FirstViewController: UIViewController,ProgressBarDelegate {
@IBOutlet var activity: UIActivityIndicatorView!
func UpdateProgressBar(progress: Bool){
print("I received the message from Dao class (the delegate)")
switch progress{
case true:
// At this point I get the following error:Fatal error: unexpectedly found nil while unwrapping an Optional value
self.activity.startAnimating()
case false:
self.activity.stopAnimating()
default:
self.activity.startAnimating()
}
}
override func viewDidLoad() {
super.viewDidLoad()
let dao = Dao()
/// dao.caricamentoDati()
你連接活動視圖插座? – rmaddy
(是)組件在我的故事板中正確連接 – Diego
顯然不然,您不會得到該錯誤。在'self.activity.startAnimating()'行放置一個斷點,你會發現'self.activity'是'nil'。 – rmaddy