【问题标题】:How Do I fix the Swift Sort function error?如何修复 Swift 排序功能错误?
【发布时间】:2015-11-14 04:33:13
【问题描述】:

我有一本 Swift1 书,但我有 Xcode 7。所以我正在根据 Swift1 书编写 Swift2。我目前正在学习 Swift 闭包,但是下面的代码会产生错误。

import Cocoa

let names = ["Chris","Alex","Ewa","Barry","Daniella"]

func backwards(s1: String, s2: String) -> Bool {
    return s1 > s2
}

print("Unsort names: \(names)")

var reversed = sort(names, backwards)
print("sort names: \(reversed)")

这是错误:

Playground execution failed: /var/folders/kt/t3wp7ckx3h1c33tfm44r4zgr0000gn/T/./lldb/1968/playground150.swift:11:16: 
error: cannot invoke 'sort' with an argument list of type '([String], (String, s2: String) -> Bool)'
var reversed = sort(names, backwards)
               ^
/var/folders/kt/t3wp7ckx3h1c33tfm44r4zgr0000gn/T/./lldb/1968/playground150.swift:11:16: 
note: overloads for 'sort' exist with these partially matching parameter lists: (inout C, (C.Generator.Element, C.Generator.Element) -> Bool), (inout [T], (T, T) -> Bool), (inout ContiguousArray<T>, (T, T) -> Bool)
var reversed = sort(names, backwards)

【问题讨论】:

    标签: swift swift2 xcode7


    【解决方案1】:

    你必须对数组对象应用排序函数

    var reversed = names.sort(backwards)
    

    下面是我的操场截图

    【讨论】:

    • 谢谢!我很有帮助!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多