2017-06-14 25 views
0

因此,我創建了一個模型類,我正在使用Alamofire從API獲取數據。我想在表格中顯示這些數據以便查看,因此我正在考慮將該模型附加到VC中的數組中,並在自定義單元格中調用它。將模型添加到Swift中的數組

但我想追加到數組只有當一個鍵值匹配一個特定的字符串。

但是,當我在VC中使用簡單的if語句時,它給了我一個致命的錯誤,說錯誤的指令。

代碼

調用模型

var notificationModel: NotificationModel! 
var notification = [NotificationModel]() 

viewDidLoad中

if notificationModel.type == "meeting" { 
    self.notification.append(notificationModel) 
} 

型號

Class NotificationModel 

    var _type: String! 

    var type: String { 
     if _type == nil { 
      _type = "Err" 
     } 
     return _type 
    } 

    func downloadData() { 
      ... 
    } 
} 
+0

分享代碼 –

+0

請分享您的代碼。 –

+0

你如何分配notificationModel的值? –

回答

0

在這裏你有強制unwrap NotificationModel。而你正試圖訪問一個無值的類型。 請嘗試以下修復程序。

var notificationModel: NotificationModel! var notification = [NotificationModel]()

if notificationModel?.type == "meeting" { 
notification.append(notificationModel!) 

}

希望這樣可以解決問題。

+0

錯誤消失,但沒有顯示數據 –

+0

數據不顯示,因爲notificationModel爲零,因此不執行if語句。所以notificationModel?.type也是零。 – am449

+0

請接受解決方案併爲其投票。謝謝 – am449

0

爲什麼你AR e在類類型的定義實例中使用forceUnwrapping?這不是一個好的做法。只需使用String,NotificationModel等...選項是需要的,以防止崩潰時,爲零。很可能,if語句中的類型彼此不對應。在調試時檢查它。如果是這樣,請投它們。

相關問題