下面的行,在SQLHandler.translateQuery(" do mysql stuff"),抛出错误:'(String) - >字符串'不能转换为' SQLHandler'。它为什么这样做?提前谢谢。
代码1 (随时随地使用)
var query: String = "mysql stuff"
SQLHandler.sendQuery(SQLHandler.translateQuery("domain and \(query)"))
代码2,SQLHandler.swift (在需要时调用)
import Foundation
class SQLHandler {
func translateQuery(queryToTranslate: String) -> String{
println(queryToTranslate)
return queryToTranslate.stringByReplacingOccurrencesOfString(" ", withString: "_", options: NSStringCompareOptions.LiteralSearch, range: nil)
}
func sendQuery(query: String){
println(query)
let url = NSURL(string: "url and query goes here")
let task = NSURLSession.sharedSession().dataTaskWithURL(url!, completionHandler: { (data, response, error) -> Void in })
task.resume()
}
}
答案 0 :(得分:0)
您正在调用类本身的实例方法。
创建一个实例并调用方法:
var sqlHandler = SQLHandler()
sqlHandler.translateQuery("domain and \(query)")
或将方法定义为类方法:
class func translateQuery(queryToTranslate: String) -> String ...
class func sendQuery(query: String) ...