gpt4 book ai didi

ios - 如何读回用 NSKeyedArchiver 保存的 xml 文件?

转载 作者:行者123 更新时间:2023-11-28 07:06:28 25 4
gpt4 key购买 nike

我有一个我自己的类的数组:

var listofmyclasses = [MyClass]()

在 MyClass 中我实现了:

 - func encodeWithCoder(aCoder: NSCoder!)
- init (coder aDecoder: NSCoder!)

我正在用我的数组内容编写一个 XML 文件,这工作正常:

         let plistpath = directories[0].stringByAppendingPathComponent("BookmarkArray.plist")
let archivedData = NSMutableData()
let archiver = NSKeyedArchiver(forWritingWithMutableData: archivedData)
archiver.outputFormat = NSPropertyListFormat.XMLFormat_v1_0
archiver.encodeObject(listofbookmarks)
archiver.finishEncoding()
archivedData.writeToFile(plistpath, atomically: true)

文件以 XML 格式保存。太棒了!

现在问题:

如何将 XML 的内容读回新的 MyClass 数组?:

var newArray:[MyClass]=getContent(plistpath);

到目前为止我尝试了什么:

var archivedData2:NSMutableData = NSMutableData(contentsOfFile: plistpath)!;
let listofmyclasses2 = NSKeyedUnarchiver.unarchiveObjectWithData(archivedData2);

但是 listofmyclasses2 是 nil。

最佳答案

试试这个来读回文件:

    let dat : NSData = NSData.dataWithContentsOfMappedFile(plistpath) as NSData
let unarchiver = NSKeyedUnarchiver(forReadingWithData: dat)
let read_bookmarks = unarchiver.decodeObject() as [MyClass]
unarchiver.finishDecoding()

(当然你肯定想使用更好的错误检查:-))

关于ios - 如何读回用 NSKeyedArchiver 保存的 xml 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30397298/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com