ios - 上下文类型 'NSFastEnumeration' 不能与数组文字一起使用

标签 ios swift swift3

Swift 3,你会这样做吗?

let changeRequest = PHAssetCollectionChangeRequest(...)
let fastEnumeration = NSArray(array: [PHObjectPlaceholder])
albumChangeRequest?.addAssets(fastEnumeration)

还是这个?

let changeRequest = PHAssetCollectionChangeRequest(...)
albumChangeRequest?.addAssets([PHObjectPlaceholder] as NSFastEnumeration)

有什么区别?

最佳答案

正如您所发现的(您的代码存在一些不一致并导致其他错误,最好更新它),您不能使用 as-casting 将数组文字的类型指定为 NSFastEnumeration.

您需要找到一个符合 NSFastEnumeration 的合适类,在您的情况下它是 NSArray

通常这样写:

changeRequest?.addAssets([/* needs instances, not type...*/] as NSArray)

关于ios - 上下文类型 'NSFastEnumeration' 不能与数组文字一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39915174/

相关文章:

swift - 在 Swift 3.2 项目中实现 NSLinguisticTagger 时出现“无成员名称类型”错误

ios - 如何在导航栏下创建自定义标签栏?

swift - 尝试从函数外部调用时数组返回空[swift]

ios - 禁用 UITableViewCell 中 UIButton 的 3D 触摸

ios - CGPointZero 和 CGContextDrawImage 不可用

ios - Core Data 自定义策略的选择器语法是什么?

ios - iOS 中的信号选项发生变化

ios - 如何使用 Multipeer Connectivity (Swift 3) 在 session 中通过 didReceiveData() 调用 table.reloadData

ios - 无法关闭 MFMailComposeViewController,未调用委托(delegate)

ios - ALAssetRepresentation URL 'persistence' 生命周期?