Tôi đang cố lưu một mảng các số nguyên vào đĩa nhanh chóng. Tôi có thể đưa chúng vào một đối tượng NSData để lưu trữ, nhưng việc đưa chúng trở lại một mảng là rất khó. Tôi có thể lấy COpaquePointer
thô cho dữ liệu với data.bytes
nhưng không thể tìm cách khởi tạo mảng nhanh mới bằng con trỏ đó. Có ai biết làm thế nào để làm điều đó?Tạo một mảng trong Swift từ một đối tượng NSData
import Foundation
var arr : UInt32[] = [32,4,123,4,5,2];
let data = NSData(bytes: arr, length: arr.count * sizeof(UInt32))
println(data) //data looks good in the inspector
// now get it back into an array?
lưu trữ/hủy lưu trữ, đó là cách dễ dàng hơn và phổ biến nhất để thực hiện việc như vậy. – holex
lưu trữ/unarchive treo ở đây bởi vì nó không phải là một mảng của các đối tượng, chỉ int giá trị. Tôi sẽ phải thay đổi mảng của tôi thành các đối tượng Int. – tassinari
chắc chắn, bởi vì bạn có thể lưu trữ các đối tượng chỉ phù hợp với giao thức 'NSCoding'. nếu bạn thay đổi mảng từ 'Array' thành 'Array ', bạn sẽ có thể lưu trữ ngay lập tức. –
holex