我有一个叫项具有以下属性类: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很陌生,不确定发生了什么以及问题出在哪里。