У меня две модели; Contact и Group, а также архивирование/удаление их данных через NSCoder. Рассмотрим это:Невозможно присвоить значение типа SomeObject для SomeObject?
class Contact
{
var id: Int = default_value
var name: String = ""
var number: String = ""
init?(Id:Int, Name:String, Number:String)
{
self.id = Id
self.name = Name
self.number = Number
super.init()
if Id == default_value{
return nil
}
}
// MARK: NSCoding
func encodeWithCoder(aCoder: NSCoder)
{
aCoder.encodeInteger(id, forKey: "id")
aCoder.encodeInteger(name, forKey: "name")
aCoder.encodeBool(number, forKey: "number")
}
required convenience init?(coder aDecoder: NSCoder)
{
let Id = aDecoder.decodeIntegerForKey("id")
let Name = aDecoder.decodeIntegerForKey("name")
let Number = aDecoder.decodeBoolForKey("number")
self.init(Id:Id, Name:Name, Number:Number)
}
}
Это идет очень хорошо, но когда я пытаюсь использовать контакт в моей группе модели, она просто путает плохо = дает эту ошибку «Невозможно присвоить значение типа КОНТАКТНАЯ?»;
Скажите, пожалуйста, что мне делать, поскольку у меня нет всех параметров для инициализации контактов в целом. Заранее спасибо :)
Ваше объявление переменной может быть просто «var contact: Contact» в вашей модели «Group». Кроме того, вы вызвали свой класс 'contact', но использовали' Contact' в 'group', но я думаю, что это просто опечатка? – stefandouganhyde
это просто испортится плохо? Что именно происходит? – CW0007007
@stefandouganhyde Да typo .. fixed –