[英]How to update this classic Swift line to a more recent Swift (compatible with Xcode 12 and iOS 14) properly?
如何將這個經典的 Swift 線更新為更新的 Swift(與 Xcode 12 和 Z1BDF605991920DB1EB1CBD148 兼容)正確?
var sceneData = NSData(bytesNoCopy: path, length: .DataReadingMappedIfSafe, freeWhenDone: true)
提前致謝!
我跋涉並找到了一種方法,所以回答了這個問題:
extension SKNode {
class func unarchiveFromFile(_ file : String) -> SKNode? {
if let url = Bundle.main.url(forResource: file, withExtension: "sks") {
do {
var sceneData = try NSData(contentsOfFile: url.absoluteString, options: NSData.ReadingOptions.mappedIfSafe)
var archiver = NSKeyedUnarchiver(forReadingWith: sceneData as Data)
archiver.setClass(self.classForKeyedUnarchiver(), forClassName: "SKScene")
let scene = archiver.decodeObject(forKey: NSKeyedArchiveRootObjectKey) as! GameScene
archiver.finishDecoding()
return scene
} catch {
return nil
}
} else {
return nil
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.