不太明白为什么我在“
Swift 3”中使用“枚举对象”模糊.
let collections = PHAssetCollection.fetchAssetCollections(with: .moment,subtype: .any,options: nil) collections.enumerateObjects { (collection,start,stop) in collection as! PHAssetCollection let assets = PHAsset.fetchAssets(in: collection,options: nil) assets.enumerateObjects({ (object,count,stop) in content.append(object) }) }
有什么想法吗?此代码在Swift 2.2中正常工作
我已经碰到了这几次,这似乎是Swift的尾随关闭语法的一个问题.包括闭包参数周围的括号应该做的诀窍:
collections.enumerateObjects({ (collection,stop) in collection as! PHAssetCollection let assets = PHAsset.fetchAssets(in: collection,options: nil) assets.enumerateObjects({ (object,stop) in content.append(object) }) })
编辑:请参阅rintaro的答案,解释为什么会发生这种情况.