问题描述
错误消息: ***由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:'***-[NSArray count]:发送给未初始化的不可变数组对象的方法'
断点位于“ self.foodSource =解码器.decodeObject(forKey:“ foodSource”)as [[TSOrderGroupMenusModel]“行上
public func encode(with coder: NSCoder) {
coder.encode(self.type,forKey: "type")
coder.encode(self.name,forKey: "name")
coder.encode(self.number,forKey: "number")
coder.encode(self.item_id,forKey: "item_id")
coder.encode(self.tries,forKey: "tries")
coder.encode(self.soldout,forKey: "soldout")
coder.encode(self.minimum,forKey: "minimum")
coder.encode(self.maximum,forKey: "maximum")
coder.encode(self.myDes,forKey: "myDes")
coder.encode(self.parent_id,forKey: "parent_id")
coder.encode(self.photo,forKey: "photo")
coder.encode(self.price,forKey: "price")
coder.encode(self.hideMinusPop,forKey: "hideMinusPop")
coder.encode(self.isAdded,forKey: "isAdded")
coder.encode(self.children,forKey: "children")
coder.encode(self.foodSource,forKey: "foodSource")
coder.encode(_priceDecimalNumber,forKey: "_priceDecimalNumber")
coder.encode(_photoURLString,forKey: "_photoURLString")
coder.encode(_isPopular,forKey: "_isPopular")
coder.encode(self.selectedNumber,forKey: "selectedNumber")
coder.encode(self.additionalIsSelected,forKey: "additionalIsSelected")
coder.encode(_additionalIsRadio,forKey: "_additionalIsRadio")
coder.encode(_isCanSelected,forKey: "_isCanSelected")
}
required init(coder decoder: NSCoder)
{
super.init()
self.type = decoder.decodeObject(forKey: "type") as? Int
self.name = decoder.decodeObject(forKey: "name") as? String
self.number = decoder.decodeObject(forKey: "number") as? Int ?? 0
self.item_id = decoder.decodeObject(forKey: "item_id") as? Int
self.tries = decoder.decodeObject(forKey: "tries") as? Int
self.soldout = decoder.decodeObject(forKey: "soldout") as? Bool
self.minimum = decoder.decodeObject(forKey: "minimum") as? Int ?? -1
self.maximum = decoder.decodeObject(forKey: "maximum") as? Int ?? -2
self.myDes = decoder.decodeObject(forKey: "myDes") as? String
self.parent_id = decoder.decodeObject(forKey: "parent_id") as? Int
self.photo = decoder.decodeObject(forKey: "photo") as? String
self.price = decoder.decodeObject(forKey: "price") as? String
self.hideMinusPop = (decoder.decodeObject(forKey: "hideMinusPop") != nil)
self.isAdded = (decoder.decodeObject(forKey: "isAdded") != nil)
self.children = decoder.decodeObject(forKey: "children") as? [TSOrderMealMenusModel]
self._priceDecimalNumber = decoder.decodeObject(forKey: "_priceDecimalNumber") as? NSDecimalNumber
self._photoURLString = decoder.decodeObject(forKey: "_photoURLString") as? String
self._isPopular = decoder.decodeObject(forKey: "_isPopular") as? Bool
self.selectedNumber = decoder.decodeObject(forKey: "selectedNumber") as? Int ?? 0
self.additionalIsSelected = decoder.decodeObject(forKey: "additionalIsSelected") as? Bool
self._additionalIsRadio = decoder.decodeObject(forKey: "_additionalIsRadio") as? Bool
self._isCanSelected = decoder.decodeObject(forKey: "_isCanSelected") as? Bool
self.foodSource = decoder.decodeObject(forKey: "foodSource") as? [TSOrderGroupMenusModel]
}
食物来源声明如下:
public var foodSource: [TSOrderGroupMenusModel]? = []
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)