2015-02-17 25 views
2

這裏是我的代碼:在調用參數「主機」斯威夫特 - 在調用參數「主機」失蹤的說法

func submitLacunaRequest (#module: String, method: String, parameters: AnyObject, completion: (responseObject: AnyObject!, error: NSError!) -> (Void)) -> NSURLSessionTask? { 
     let session = NSURLSession.sharedSession() 
     let url = NSURL(string: "https://us1.lacunaexpanse.com").URLByAppendingPathComponent(module) 
     let request = NSMutableURLRequest(URL: url) 
     request.HTTPMethod = "POST" 
     request.setValue("application/json-rpc", forHTTPHeaderField: "Content-Type") 

缺少的說法。 它發生在這條線上。

let url = NSURL(string: "https://us1.lacunaexpanse.com").URLByAppendingPathComponent(module) 

任何想法如何解決這個請嗎?

謝謝!

回答

2

這個錯誤是令人誤解的。問題不是缺少參數,而是您如何訪問NSURL。您必須添加?才能訪問可選件,因爲NSURL可能爲空,或者您打開它:

//First option: 
let url = NSURL(string: "https://us1.lacunaexpanse.com")?.URLByAppendingPathComponent(module) 

//Unwrapping 
if let url = NSURL(string: "https://us1.lacunaexpanse.com")?.URLByAppendingPathComponent(module){ 
    let request = NSMutableURLRequest(URL: url) 
    request.HTTPMethod = "POST" 
    request.setValue("application/json-rpc", forHTTPHeaderField: "Content-Type") 
}