こんにちは、サーバーから get リクエストを送信しようとしていますが、ログを確認したときにエンドポイントに到達できず、最終エンドポイントに到達していません。エンドポイントには、リクエスト フィールドに追加された承認が必要です。json 値を取得してテーブル セルとして表示しようとしています。しかし、値を取得しようとすると、nil が返されます。エンドポイントに到達しようとはしません。print("Session)"
dataWithRequest を呼び出すかどうかを確認するために print ステートメントを配置しようとしましたが、失敗した場合。ここで何か間違ったことをしていますか?
func getLocalData() -> [[String:AnyObject]] {
var json:[[String:AnyObject]]?
let endPoint = "http://******************"
let url:NSURL? = NSURL(string: endPoint)
let session = NSURLSession.sharedSession()
let request:NSMutableURLRequest = NSMutableURLRequest(URL: url!)
request.HTTPMethod = "GET"
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.addValue(token!, forHTTPHeaderField: "Authorization-Header")
let task = session.dataTaskWithRequest(request) {(data, response, error) -> Void in
print("Session") //not able to get in here
guard let data = data where error == nil else {
//network error
print("Error with network: \(error?.localizedDescription)")
return
}
let httpResponse = response as! NSHTTPURLResponse//HTTPURLResponse
let statusCode = httpResponse.statusCode
if statusCode == 200 {
do {
print("Here buddy")
json = try NSJSONSerialization.JSONObjectWithData(data, options: .AllowFragments) as? [[String: AnyObject]]
// return json
}
catch {
print("Error in json")
}
}
}
task.resume()
print("JSON: \(json)") //prints nil as it never attempts to make the request to the server
return json
}
私のTableListControllerで、この関数を呼び出そうとすると、fatal error: unexpectedly found nil while unwrapping an Optional value
class DealListController: UITableViewController {
let myDeals = DealList()
var dealsArray = []
override func awakeFromNib() {
super.awakeFromNib()
dealsArray = myDeals.getLocalData()! //complains about error here
}
}