Я разрабатываю приложение, которое будет делиться кросс-платформой данных между iOS и macOS. Я использую NSCoding для сериализации моей модели в файл. Специфическое свойство в моей модели данных имеет тип Int. Ниже приведен фрагмент кода, который работает на оба прошивке и MacOS:Кодирование и декодирование Int Значения между iOS и macOS
class MyDataModel: NSObject, NSCoding {
struct Keys {
static let myNumber = "myNumber"
}
var myNumber: Int = 0
required init(coder aCoder: NSCoder) {
super.init()
myNumber = aDecoder.decodeInteger(PropertyKey.nameKey)
}
fun encode(with aCoder: NSCoder) {
aCoder.encodeInteger(myNumber, forKey: PropertyKey.ratingKey)
}
}
Вопрос заключается в том, если я сохраню это число на прошивке в файл на ICloud, а затем открыть файл и декодировать в на MacOS выйдет данные остаются прежними? Я слышал слухи, что Int
интерпретируются по-разному на этих двух платформах. Я даже рекомендовал хранить мои целые числа в виде строк, а затем отливать их в целое число. Может ли кто-нибудь подтвердить, верно это или нет?
Великий ответ. Имеет смысл, что это будет вызвано устройствами, которые имеют 32 бит против 64 бит. – loyalpenguin