gpt4 book ai didi

ios - Cocoa Swift,在文件和目录上获取/设置隐藏(可见/不可见)标志

转载 作者:搜寻专家 更新时间:2023-11-01 05:47:06 27 4
gpt4 key购买 nike

我想测试文件系统上的文件或目录是否有特定标志,在本例中为“隐藏”标志,然后设置或删除它。我知道这可以通过命令行实现,但我想知道我是否可以使用 Cocoa/Swift 做到这一点?

我尝试使用 NSFileManager attributesOfItemAtPath,但返回的对象不包含标志。

例子:

let fm = NSFileManager.defaultManager()

do {
let testLibrary = try fm.attributesOfItemAtPath(dataPath)
print (testLibrary)
} catch let error as NSError {
print("JSON Error: \(error.localizedDescription)")
}

返回:

["NSFileCreationDate": 2013-08-16 21:37:57 +0000,
"NSFileGroupOwnerAccountName": staff,
"NSFileType": NSFileTypeDirectory,
"NSFileSystemNumber": 16777220,
"NSFileOwnerAccountName": xjx,
"NSFileReferenceCount": 61,
"NSFileModificationDate": 2015-10-22 07:25:12 +0000,
"NSFileExtensionHidden": 0,
"NSFileSize": 2074,
"NSFileGroupOwnerAccountID": 20,
"NSFileOwnerAccountID": 501,
"NSFilePosixPermissions": 448,
"NSFileSystemFileNumber": 603923]

为了比较,当我在我的主目录中执行 ls -lO 时,我看到以下内容(注意“库”上的隐藏标志):

drwx------+ 49 xjx  staff  -        1666 Jan 11 19:43 Downloads
drwx------@ 28 xjx staff - 952 Jan 11 08:40 Dropbox
drwx------@ 61 xjx staff hidden 2074 Oct 22 09:25 Library
drwx------+ 7 xjx staff - 238 Apr 30 2015 Movies
drwx------+ 5 xjx staff - 170 Jun 14 2015 Music

最佳答案

Xcode11 • Swift 5Xcode 9 • Swift 4Xcode 8 • Swift 3

extension URL {
/// `true` is hidden (invisible) or `false` is not hidden (visible)
var isHidden: Bool {
get {
return (try? resourceValues(forKeys: [.isHiddenKey]))?.isHidden == true
}
set {
var resourceValues = URLResourceValues()
resourceValues.isHidden = newValue
do {
try setResourceValues(resourceValues)
} catch {
print("isHidden error:", error)
}
}
}
}

关于ios - Cocoa Swift,在文件和目录上获取/设置隐藏(可见/不可见)标志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34741823/

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