2015-06-07 38 views
1

下面這行SQLHandler.translateQuery(「Do mysql stuff」)拋出錯誤:'(String) - > String'不可轉換到'SQLHandler'。它爲什麼這樣做?先謝謝你。'(String) - > 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

您正在呼籲一個實例方法(叫在需要時)課本身。

要麼創建一個實例,並調用方法:

var sqlHandler = SQLHandler() 
sqlHandler.translateQuery("domain and \(query)") 

或定義方法爲類方法:

class func translateQuery(queryToTranslate: String) -> String ... 
class func sendQuery(query: String) ... 
相關問題