Firebase между различными приложениями IOS NSKeyedUnarchiver завершается - PullRequest
0 голосов
/ 12 марта 2019

В настоящее время я работаю над проектом, который содержит мобильное приложение IOS и отдельное приложение для iPad.Они связываются с базой данных Firebase.

В мобильном приложении оно прекрасно работает для архивирования объектов и разархивирования его на другом мобильном устройстве, но на iPad я получаю следующую ошибку и поток 1: сигнал SIGABRT.

libc++abi.dylib: terminating with uncaught exception of type NSException 

Он всегда заканчивается следующей строкой:

let ar = NSKeyedUnarchiver.unarchiveObject(with: array) as! [ProjectModel]

Массив значений - это Данные типа данных.

Объект-файл:

import Foundation
import UIKit

class ProjectModel: NSObject, NSCoding {

var name: String!
var controllerArray: [ControllerModel]!

init(name: String!, controllerArray: [ControllerModel]!) {

    self.name = name
    self.controllerArray = controllerArray

}

required convenience init(coder aDecoder: NSCoder) {
    let name = aDecoder.decodeObject(forKey: "name") as! String
    let controllerArray = aDecoder.decodeObject(forKey: "controllerArray") as! [ControllerModel]
    self.init(name: name, controllerArray: controllerArray)
}

func encode(with aCoder: NSCoder) {
    aCoder.encode(name, forKey: "name")
    aCoder.encode(controllerArray, forKey: "controllerArray")
}

}

1 Ответ

0 голосов
/ 13 марта 2019

Я нашел способ решить проблему.Вам нужно использовать Class Codable вместо NSKeyedUnarchiver.

Здесь ссылка на сообщение в блоге, которое мне помогает: medium.com / codable

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...