用于未公开属性的字符串选择器

时间:2018-09-12 09:29:50

标签: swift reflection photokit

对于尚未公开的属性,从字符串构造选择器有什么选择?

例如用于获取PHAssetResource的文件名和文件大小:

if resource.responds(to: Selector("originalFilename")) {
    let fileName = resource.value(forKey: "originalFilename") as? String
    NSLog("resource filename: %@", fileName ?? "<unknown>")
}

if resource.responds(to: Selector("fileSize")) {
    let fileSize = resource.value(forKey: "fileSize") as? CLong
    NSLog("resource fileSize: %d", fileSize ?? -1)
}

这两个属性originalFilename和fileSize在PHAssetResource的内部子类PHInternalAssetResource中定义。

0 个答案:

没有答案