我在API类中具有造痕。我想创建"加密"功能。"加密"方法将一个参数作为[String: String]
。但是let encr = encryption(parameters)
有错误 - 无法转换类型'[String : String]'
预期参数的值类型" API"
如何解决这个问题?
谢谢。
代码是:
class API {
class func createToken() {
var parameters = [
"key1": "value1",
"key2":"value2",
"key3": "value3"
]
let encr = encryption(parameters)
let newParameters = [
"key1": "value1",
"key2":"value2",
"key3": "value3",
"key4" : encr
]
}
func encryption(parameters: [String:String]) -> String {
let sortedDict = parameters.sort { $0.0 < $1.0 }
var paramString = ""
for i in sortedDict {
paramString.addString(i.1)
}
paramString.addString("")
let encr = paramString.sha256()
return encr
}
}
我重新分配了您的课程。现在两种方法都是class method
。
class API {
class func createToken() {
let parameters = [
"key1": "value1",
"key2":"value2",
"key3": "value3"
]
let encr = API.encryption(parameters)
let newParameters = [
"key1": "value1",
"key2": "value2",
"key3": "value3",
"key4" : encr
]
// What do you want to do with newParameters?
}
class func encryption(parameters: [String:String]) -> String {
let sortedDict = parameters.sort { $0.0 < $1.0 }
let paramString = sortedDict.map { $0.1 }.reduce("") { $0 + $1 }
let encr = paramString.sha256()
return encr
}
}