У меня есть простая функция, в которой я сохраняю объект по умолчанию, чтобы загрузить его позже, это выглядит так:
func saveGame() {
// hero is an instance of the class Hero, subclassed from SKSpriteNode
UserDefaults.standard.set(hero, forKey: HeroObjectKey)
}
Я получаю сообщение об ошибке:
2017-03-13 21: 15: 33.124271 Castle [5405: 5208658] [Пользовательские значения по умолчанию] Попытка установить имя объекта, не относящегося к списку свойств: текстура 'hero': ['hero1.ico' (32 x 32)] позиция : {0, 0} масштаб: {1,00, 1,00} размер: {32, 32} привязка: {0,5, 0,5} поворот: 0,00 как значение NSUserDefaults / CFPreferences для ключа heroObjectKey
Это потому, что я не могу сохранить свои собственные пользовательские объекты, или мне не нравится какое-то значение свойства внутри объекта?
Примечание: есть очень похожий вопрос, который частично решил мою проблему, но принятый ответ не сработал для меня из-за различий между Swift3 и тем, что они использовали. Итак, я дам ответ здесь.