Swift-2.2、Xcode 7.3.1 中 'SubScript' 的模糊使用

Ambiguous Use of 'SubScript' in Swift-2.2, Xcode 7.3.1

我正在尝试使用 CommonCrypto 的应用程序,

所以我从 CryptoCoinSwift/SHA256-Swift 下载了一个 SHA256.swift,并将其添加到我的项目中。

在我的单元测试中,我创建了一个函数来测试文件是否良好?

这是我在单元测试中的代码:

func testCrypto() {
    let a: String = "123456"
    let b = SHA256.hexStringDigest(a)    <- error line
    print(b)
}

错误行

 Ambiguous use of 'hexStringDigest'

谁能告诉我,我的代码有什么问题吗?

谢谢!

所以通过你引用的 GitHub 项目,我发现了 2 个名为 hexStringDigest 的函数,它们都接受一个字符串作为输入:

public static func hexStringDigest (input : String) -> NSData
public static func hexStringDigest (input : String) -> String

Swift 不知道你想要哪个。给编译器一个提示:

let b: String = SHA256.hexStringDigest(a)

你需要说两者之一

let b : NSData = SHA256.hexStringDigest(a)

let b : String = SHA256.hexStringDigest(a)

(取决于你想要哪一个)。