美文网首页
2018-02-24 [swift日常实用func收集]排序

2018-02-24 [swift日常实用func收集]排序

作者: Sesshomaru | 来源:发表于2018-02-24 16:02 被阅读24次

    大家新年好,年也差不多过完了,需要继续通过写代码来消耗过年长的肥肉了。

    年前将初级地图编辑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个元素一一成对进行了比对,这种比对效率还是很低的,如果元素少还好,如果元素多了,可能就要采用更高级的排序算法了。

    相关文章

      网友评论

          本文标题:2018-02-24 [swift日常实用func收集]排序

          本文链接:https://www.haomeiwen.com/subject/qtaqxftx.html