swift-xattr文件属性处理功能扩展

联合创作 · 2023-09-28 14:44

swift-xattr 是 iOS/OSX Swift 语言的可扩展文件属性封装器,可处理下列函数:setxattr, getxattr, listxattr, removexattr。

使用示例:

import Foundation

var errorOrNames = attributesNamesAtPath("/file.txt")

if let names = errorOrNames.names {

  names.map { println($0) }
}
else {

  println(errorOrNames.error)
}

> com.apple.FinderInfo
> com.apple.metadata:_kMDItemUserTags

setAttributeWithName("custom", data: "abc".dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false)!, atPath: "/file.txt")

errorOrNames = attributesNamesAtPath("/file.txt")

if let names = errorOrNames.names {

  names.map { println($0) }
}
else {

  println(errorOrNames.error)
}

> com.apple.FinderInfo
> com.apple.metadata:_kMDItemUserTags
> custom

var errorOrData = dataForAttributeNamed("custom", atPath: "/file.txt")

if let data = errorOrData.data {

  println(NSString(data: data, encoding: NSUTF8StringEncoding))
}
else {

  println(errorOrData.error)
}

> abc

removeAttributeNamed("custom", atPath: "/file.txt")

errorOrData = dataForAttributeNamed("custom", atPath: "/file.txt")

if let data = errorOrData.data {

  println(NSString(data: data, encoding: NSUTF8StringEncoding))
}
else {

  println(errorOrData.error)
}

> Attribute not found

测试系统:Xcode 6.3, iOS 8.1.1, OS X 10.10

浏览 5
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报