我正在应用Realm文档(https://realm.io/docs/swift/latest/)中的代码段,但无法编译
try! FileManager.default.setAttributes([FileAttributeKey(rawValue: NSFileProtectionKey): NSFileProtectionNone], ofItemAtPath: folderPath)
此错误是什么意思
无效的初始化调用,其类型与“ FileAttributeKey”相同 参数
答案 0 :(得分:2)
您正在尝试使用ObjC FileAttributeKey
(其类型为NSFileProtectionKey
,又与NSFileAttributeKey
相同)来启动FileAttributeKey
。因此,无需启动一个,只需单独使用NSFileProtectionKey
。
[NSFileProtectionKey: NSFileProtectionNone]
根据您的Swift版本,可能会告诉您密钥已重命名。
let attributes = [ FileAttributeKey.protectionKey : FileProtectionType.none ]
try! FileManager.default.setAttributes(attributes)
setAttributes
方法需要一个类型为[FileAttributeKey : Any]
的值,因此,如果我们直接将属性作为字典传递,则可以推断出FileAttributeKey
,因为可以推断出密钥类型。
try! FileManager.default.setAttributes([.protectionKey: FileProtectionType.none], ofItemAtPath: folderPath)