TableViewで表示するために使用する配列にJSON結果を渡すときに問題があります。ObjectMapperを使用する - JSONの結果をTableViewスウィフトに変換する
ここに私のモデル:あなたは私のJSONの結果がOKであることが確認できた画像で
class Restaurant: Mappable {
var lat: Float?
var lng: Float?
var address: String?
var name: String?
required init?(_ map: Map) { }
// Mappable
func mapping(map: Map) {
lat <- map["venue.location.lat"]
lng <- map["venue.location.lng"]
address <- map["venue.location.address"]
name <- map["venue.name"]
}
}
とここに私のViewController
class ListViewController: UIViewController {
@IBOutlet weak var tableView: UITableView!
var listRestaurants: [Restaurant] = []
override func viewDidLoad() {
super.viewDidLoad()
retrieveFoursquareList()
tableView.reloadData()
}
func retrieveFoursquareList(){
let foursquareService = FoursquareService()
foursquareService.getFoursquare {
(let response) in
if let currrently = response {
dispatch_async(dispatch_get_main_queue()) {
print("RESULTADO 2 array: \(currrently)")
for restaurant in currrently {
if let name = restaurant.name {
restaurant.name = name
print("RESULTADO 3 row: \(restaurant.name)")
self.listRestaurants.append(restaurant)
print("RESULTADO 4 array: \(self.listRestaurants)")
}
}
}
}
}
}
}
extension ListViewController: UITableViewDataSource, UITableViewDelegate {
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return listRestaurants.count
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("RestautantsCell", forIndexPath: indexPath) as! RestaurantCell
let listRestaurant = listRestaurants[indexPath.row]
cell.nameLabel.text = listRestaurant.name
cell.addressLabel.text = listRestaurant.address
return cell
}
}
。私の問題は、デVaRのlistRestaurant配列にこの結果を渡す方法です:
JSON output is OK but I have problem passing this JSON into the var listRestaurant array
私はあなたの助けに感謝します。ありがとう。
デリゲートに感謝します。それを私が直した。しかし、私はまだデータを渡すことに問題があります。私はlet restaurant = Mapper().map(restaurantData)を使って動作しません。 –
Tindaya