PHAsset:啥是“assetSource”?
Posted
技术标签:
【中文标题】PHAsset:啥是“assetSource”?【英文标题】:PHAsset: What is 'assetSource'?PHAsset:什么是“assetSource”? 【发布时间】:2014-10-15 22:36:10 【问题描述】:我正在枚举一个 PHFetchResult。如果我对返回的 PHAsset 执行 println,我会得到:
<PHAsset: 0x178192140> 4CBE5A4F-90BD-438B-954E-6FF1B14538CD/L0/001 mediaType=1/0, assetSource=3, (2448x3264), creationDate=2014-10-15 14:20:12 +0000, location=1, hidden=0, favorite=1
有人知道assetSource=3
位是什么吗?如果可能的话,我想在assetSource 上运行一个谓词,但在任何地方都找不到关于它是什么或如何访问它的任何信息。是私人的吗?
【问题讨论】:
【参考方案1】:assetSource
是一个私有变量,所以它的含义是故意不透明的。
您可以使用谓词从其description
中过滤assetSource
以进一步调查,例如in this question,但这将是一个纯粹的学术练习。
【讨论】:
谢谢。很高兴知道它可以这样做,但我最好找到另一种方法来实现我最初追求的目标。【参考方案2】:可能与 ios9 中即将推出的 PHAssetSourceType 有关。
struct PHAssetSourceType : OptionSetType
init(rawValue rawValue: UInt)
static var TypeNone: PHAssetSourceType get
static var TypeUserLibrary: PHAssetSourceType get
static var TypeCloudShared: PHAssetSourceType get
static var TypeiTunesSynced: PHAssetSourceType get
参考https://developer.apple.com/library/prerelease/ios/documentation/Photos/Reference/PHAsset_Class/index.html#//apple_ref/swift/struct/c:@E@PHAssetSourceType
【讨论】:
不可能! "assetSource" 可以是 3,但 PHAssetSourceType 只能是 0、1、2、4。 @mayqiyue 显然 asserSource 是由不同 PHAssetSourceType 的 OR-ing 制成的以上是关于PHAsset:啥是“assetSource”?的主要内容,如果未能解决你的问题,请参考以下文章
PHAsset,如何在应用重启后检索特定的 PHAsset 对象(ios8 Photos)