makeRequest()
次のコードを使用して、 UITableViewController 内にメソッドがあります。
func makeRequest() {
Alamofire.request(.GET, self.foursquareEndpointURL, parameters: [
//"VENUE_ID" : self.foursquareVenueID,
"client_id" : self.foursquareClientID,
"client_secret" : self.foursquareClientSecret,
"v" : "20140806"
])
.responseJSON(options: nil) { (_, _, data, error) -> Void in
if error != nil {
println(error?.localizedDescription)
} else if let data: AnyObject = data {
let jObj = JSON(data)
if let venue = jObj["response"]["venue"].dictionaryValue as [String: JSON]? {
self.responseitems = jObj
println("venue is: \(venue)")
}
dispatch_async(dispatch_get_main_queue()) {
self.tableView.reloadData() // Update UI
}
}
}
}
また、私には財産があることを覚えておいてくださいvar responseitems:JSON = []
println("venue is: \(venue)")
コンソールに見栄えの良い応答を出力するので、それが正しく機能していることがわかります...
bindData()
次のコードのメソッドを持つカスタム UITableViewCell クラスもあります。
func bindData() {
println("VenueDetailHeaderCell data did set")
self.venueDetailTitleLabel.text = self.headerInfo?["name"].stringValue
let labelData = self.headerInfo?["name"].stringValue
println("labelData is: \(labelData)")
}
ご覧のとおり、JSON 応答で UILabel のテキストを ["name"].stringValue に設定しようとしています。ただし、println("labelData is: \(labelData)")
labelData のコンソール出力を取得すると、明らかに空である Optional("") です。
ここに私がつかもうとしているもののスクリーンショットがあります
ここで何が間違っていますか?また、会場の名前を取得して UILabel を割り当てるにはどうすればよいですか?
アップデート:
次のコードを試しました
let labelData = self.headerInfo?["name"].error
println("labelData is: \(labelData)")
そして、次のコンソール出力を取得します。誰にとっても役に立ちます。ここで本当に混乱しています...何かアイデアはありますか?