0

NSURLSessionを使用して URL から ID を取得しようとしていますが、let task = NSURLSession....との間のコードtask.resumeは実行されません (添付の画像でわかるように、確認のために内部にブレークポイントを配置しました)。

私は何が欠けていますか?

func getPlayingSongData() {
    while loopItem < IDsForSongsToPlay.count {
        self.getPlayingSongDataLoop()
        loopItem++
    }

    self.stream()
}

func getPlayingSongDataLoop() {
    playerStatus = "Paused"

    let songIDToGet = IDsForSongsToPlay[loopItem]

    let url:NSURL = NSURL(string: "http://url.com/ajax.php?call=song&id=\(songIDToGet)")!
    print(url)

    let task = NSURLSession.sharedSession().dataTaskWithURL(url) { (data:NSData?, response:NSURLResponse?, error:NSError?) -> Void in

        // Convert Json data into an Array
        let songID:[String:String] = (try! NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions.MutableContainers)) as! [String:String]

        print(songID["id"]!)
        self.StreamIDsForSongs.append((songID["id"]!))
        songPlaying = songID["title"]!
    }
    task.resume()
}

アップデート:

私が変更され

let task = NSURLSession.sharedSession().dataTaskWithURL(url) { (data:NSData?, response:NSURLResponse?, error:NSError?) -> Void in

let task = NSURLSession.sharedSession().dataTaskWithURL(url) { (データ、応答、エラー) in

そして、それは私のために働いた.

ブレークポイントのある私のコード

4

1 に答える 1

0

Apple によると、関数dataTaskWithURL(_:completionHandler:) :

指定された URL のコンテンツを取得するタスクを作成し、完了時にハンドラーを呼び出します。

リクエストが正常にdata完了すると、完了ハンドラ ブロックのパラメータにリソース データが含まれ、errorパラメータはnil. リクエストが失敗した場合、データ パラメータはnil失敗errorに関する情報を含みます。

次に、リクエストに関する各パラメータの値が表示されます。

これがお役に立てば幸いです。

于 2015-11-13T22:46:47.647 に答える