它实际上非常简单:只需NSData使用值类型的字节进行初始化.
您的价值类型:
struct MyStruct {
let x : Int
let y : Bool
let z : Double
}
Run Code Online (Sandbox Code Playgroud)
设置和获取数据的功能
func valueToData<T>(var t: T) -> NSData {
return NSData(bytes: &t, length: sizeof(T))
}
func dataToValue<T>(inout t: T, data: NSData) {
memcpy(&t, data.bytes, data.length)
}
Run Code Online (Sandbox Code Playgroud)
测试:
let originalValue = MyStruct(x: 3, y: true, z: 1.3)
let data = valueToData(originalValue)
// Save data to CoreData
var s = MyStruct(x: 0, y: false, z: 0) // Empty Value
dataToValue(&s, data: data) // Initialize with data
// s is MyStruct(x: 3, y: true, z: 1.3)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1389 次 |
| 最近记录: |