Поскольку featureType
является необязательным, вы должны добавить ?
или !
, поскольку ошибка говорит
someDict["featureType"] = featureType?.rawValue ?? ""
. ] из словаря и ключ не существует, потому что нет дела ""
.
На самом деле целью перечисления является то, что значение всегда является одним из случаев. Если вам нужен неопределенный случай, добавьте none
или unknown
или аналогичный.
Это безопасная версия
enum ChatFeatureType: String {
case none, tenants, leaseholders, residents
}
class Chat {
var featureType: ChatFeatureType
init(featureType: ChatFeatureType = .none)
self.featureType = featureType
}
//download data from firebase
init(dictionary : [String : Any]) {
featureType = ChatFeatureType(rawValue: dictionary["featureType"] as? String) ?? .none
}
func toDictionary() -> [String : Any] {
var someDict = [String : Any]()
someDict["featureType"] = featureType.rawValue
return someDict
}
}
Проблема, Хранимые процедуры действительно не возвращают вывод непосредственно. Они могут выполнить избранные операторы в сценарии, но не иметь никакого возвращаемого значения.
MySQL называет хранимые процедуры через CALL StoredProcedureName();
И Вы не можете предписать, чтобы произвел к чему-либо, поскольку они ничего не возвращают (в отличие от функции).
Моя первая реакция была, "Который походит на представление мне". Разве это не абстрагирует его достаточно, таким образом, можно просто добавить изменчивость в SP на случай?
Что-либо, что добавляет временную таблицу, которая иначе не была бы, существует вероятный антишаблон.