我有一個叫項具有以下屬性類:Swift:無法分配'Item?'類型的值鍵入「項目。鍵入?」
var name: String
var photo: UIImage?
var description: String?
var favorite: Bool
init方法看起來像這樣:
init?(name: String, photo: UIImage?, description: String?,
favorite: Bool) {
guard !name.isEmpty else {
return nil
}
self.name = name
self.photo = photo
self.description = description
self.favorite = favorite
}
在視圖控制器,我想instate變量「項目」,例如:
var item = Item?
該項目是可選的,因爲當用戶按下保存按鈕只會被創建。但是,有一個錯誤說「預期的成員名稱或類型名稱後的構造函數調用」。之前我沒有遇到任何問題,我曾經使用過類似的餐食類。
當我嘗試使用此代碼創建項目:‘項目’
let name = nameTextField.text ?? ""
let photo = photoImageView.image
let favorite = favoriteButton.favorite
let description = descriptionTextView.text
item = Item(name: name, photo: photo, description: description, favorite: favorite)
錯誤說「無法分配類型的值鍵入'Item?.Type'(又名'Optional.Type')「。我對Swift很陌生,不確定發生了什麼以及問題出在哪裏。