大家新年好,年也差不多过完了,需要继续通过写代码来消耗过年长的肥肉了。
年前将初级地图编辑chapter看完后,今天弱弱地看了接下来要攻克的中级地图编辑及loading&save游戏数据两个chapter。虽然年过完了,毕竟玩了将近十天没有工作,状态这些还有待恢复,跟着做了一点可视化操作的步骤后就暂时做不下去了,索性先搁置一下,将intermediate map tile的章节留到下周一开始攻克(计划五天完成临摹实操和做笔记),今天下午就看了看苹果的swift 4.1官网文档中的closure,发现一个很基础但也很实用的排序方法sorted(by: )
var names = ["Alpha","Cinema","Bell","Zap"]
func backward(_ s1:String, _ s2:String)-> Bool {
return s1 > s2
}
var reversedNames = names.sorted(by: backward)
backward方法的意义就在于将相邻的两个单元依据ASCII码的顺序进行字符比较,如果前者大于后者,则return true。其实就是降序排列。
所以reversedNames数组中的元素就是按照字母顺序倒序排列了。输出如下:
image.png
playground的好处就在于右边的output不仅可以看到输出了什么,还可以看到func被调用了几次,output中显示的是6 times,原因就在于此方法将原names数组中的4个元素一一成对进行了比对,这种比对效率还是很低的,如果元素少还好,如果元素多了,可能就要采用更高级的排序算法了。
网友评论