Swift NSKeyedArchiver toFile:未解析的标识符

Posted

技术标签:

【中文标题】Swift NSKeyedArchiver toFile:未解析的标识符【英文标题】:Swift NSKeyedArchiver toFile: Unresolved Identifier 【发布时间】:2017-06-11 21:06:04 【问题描述】:

当我试图让我的 NSCoding 代码工作并保存一组自定义对象时,“路径”表示它未解决。我尝试将其用作字符串“路径”,但该方法不应该将其用作字符串。我做错了什么?

错误:

使用未解析的标识符“路径”

// After Updating Table, Save Arrays
var success = false

success = NSKeyedArchiver.archiveRootObject(mainArray, toFile: path)

if success 
    print("Saved Blogs")
 else  
    print("Didn't Save Blogs")

ViewDidLoad

override func viewDidLoad() 
    super.viewDidLoad()

    // NSCoding
    var path : String 
        let manager = FileManager.default
        let url = manager.urls(for: .documentDirectory, in: .userDomainMask).first! as NSURL
        return url.appendingPathComponent("blogs.plist")!.path
    

【问题讨论】:

你在哪里定义了路径变量? 在ViewDidLoad中,我应该把它放在外面? 谢谢你这个愚蠢的错误,应该把它放在 ViewDidLoad 之外。把它添加为答案,我会给你正确的答案 【参考方案1】:

确保在调用方法时在同一范围内定义变量。

【讨论】:

以上是关于Swift NSKeyedArchiver toFile:未解析的标识符的主要内容,如果未能解决你的问题,请参考以下文章

NSKeyedArchiver.unarchiveObject Swift 3 iOS 10

Swift NSKeyedArchiver toFile:未解析的标识符

Swift iOS ARKit 从文件 NSKeyedUnarchiver NSKeyedArchiver 加载 ARWorldMap 数据

swift中数据之间的转换

TOF--TOF相机技术原理深入解析与分享

在 Swift 中编码对象