Ios 更新至Swift 2.0';地图';不可用:请拨打';map()';序列上的方法
代码来自名为ZLBalancedFlowLayout的github控件。(). 我一直在尝试更新到Swift 2.0,但出现了以下错误“'map'不可用:调用序列上的'map()'方法”。任何建议都会有帮助。先谢谢你Ios 更新至Swift 2.0';地图';不可用:请拨打';map()';序列上的方法,ios,xcode,swift,swift2,Ios,Xcode,Swift,Swift2,代码来自名为ZLBalancedFlowLayout的github控件。(). 我一直在尝试更新到Swift 2.0,但出现了以下错误“'map'不可用:调用序列上的'map()'方法”。任何建议都会有帮助。先谢谢你 private func collectionView(collectionView:UICollectionView, framesForItemsInSection section:Int, inout updateContentSize contentSize:CGSize
private func collectionView(collectionView:UICollectionView, framesForItemsInSection section:Int, inout updateContentSize contentSize:CGSize) -> ([CGRect], [CGFloat]) {
let maxWidth = Float(scrollDirection == .Vertical ? contentSize.width : contentSize.height),
widths = map(0..<collectionView.numberOfItemsInSection(section), {(item: Int) -> Float in
let itemSize = self.sizeForItemAtIndexPath(NSIndexPath(forItem: item, inSection: section)),
ratio = self.scrollDirection == .Vertical ?
itemSize.width/itemSize.height :
itemSize.height/itemSize.width
return min(Float(ratio*self.rowHeight), Float(maxWidth))
})
private func collectionView(collectionView:UICollectionView,framesForItemsInSection节:Int,inout updateContentSize contentSize:CGSize)->([CGRect],[CGFloat]){
设maxWidth=Float(scrollDirection=.Vertical?contentSize.width:contentSize.height),
宽度=贴图(0..Float in
让itemSize=self.sizeFormiteIndeXPath(NSIndexPath(forItem:item,inSection:section)),
比率=自滚动方向==垂直方向?
itemSize.width/itemSize.height:
itemSize.height/itemSize.width
返回最小值(浮动(比率*自身行高),浮动(最大宽度))
})
在Swift 2中,许多功能已从
functionName(object, action)
到
在Swift 2
map
中,它不再是一个全局函数,而是您在序列上调用的一种方法
而不是:
let result = map(array, closure)
做:
同样的概念也适用于其他序列方法,如
enumerate
,split
,等等。根据所有响应,我将其更改为widths=(0..无错误地浮动..谢谢大家。。
let result = map(array, closure)
let result = array.map(closure)