iOS와 macOS 간의 데이터 크로스 플랫폼을 공유하는 앱을 개발 중입니다. 내 모델을 파일에 직렬화하기 위해 NSCoding을 사용하고 있습니다. 내 데이터 모델의 특정 속성은 Int 유형입니다. 다음은 iOS 및 맥 OS 모두에서 실행되는 코드의 섹션은 다음과 같습니다인코딩 및 디코딩 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)
}
}
질문입니다 내가 아이 클라우드에있는 파일에 iOS에서이 정수를 저장 한 다음 파일을 열고 맥 OS에서의 디코딩하면됩니다 데이터는 동일하게 유지됩니까? Int
이이 두 플랫폼에서 다르게 해석된다는 소문을 들었습니다. 내 정수를 문자열로 저장 한 다음 정수로 변환하는 것이 좋습니다. 누군가가 이것이 사실인지 아닌지를 확인할 수 있습니까?
멋진 대답. 이것은 32 비트 대 64 비트를 가진 장치 때문에 발생합니다. – loyalpenguin