私はSwiftを使い慣れました。関数からオブジェクトの配列を返す
GET JSONレスポンスをマップするために使用するクラスは次のとおりです。
class BasketballTeamResponse: Mappable {
var name: String?
var alias: String?
var market: String?
var founded: Int?
var players: [Players]?
required init?(_ map: Map){ }
func mapping(map: Map) {
name <- map["name"]
alias <- map["alias"]
market <- map["market"]
founded <- map["founded"]
players <- map["players"]
}
}
class Players: Mappable {
var full_name: String?
var jersey_number: String?
var position: String?
init(full_name: String, jersey_number: String, position: String) {
self.full_name = full_name
self.jersey_number = jersey_number
self.position = position
}
required init?(_ map: Map) { }
func mapping (map: Map) {
full_name <- map["full_name"]
jersey_number <- map["jersey_number"]
position <- map["position"]
}
}
のは、私はViewControllerを持っていると私はPlayers
のオブジェクトの配列でfinalRoster
を投入したいとしましょう。私は自分自身で追加を試してきましたが、finalRoster
はまだ空です。これを後でテーブルビューに表示するために使いたいです。私も、私はfinalRoster
からgetBasketBallTeamPlayers()
からオブジェクトの配列を渡すことができますどのように-> [Players]
class ViewController: UIViewController {
var finalRoster = [Players]()
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
getBasketBallTeamPlayers()
}
private func getBasketBallTeamPlayers() {
let URL = "http://api.sportradar.us/nba-t3/teams/583ec825-fb46-11e1-82cb-f4ce4684ea4c/profile.json?api_key=xxxxxxxxxxxxxxxxxxxxxxxx"
//var pool = [Players]()
Alamofire.request(.GET, URL, parameters: nil)
.validate()
.responseObject { (response: Response<BasketBallTeamResponse, NSError>) in
let gswResponse = response.result.value
if let roster = gswResponse?.players {
for players in roster {
print(players.full_name!)
print(players.jersey_number!)
print(players.position!)
let add = Players(full_name: players.full_name!, jersey_number: players.jersey_number!, position: players.position!)
self.finalRoster.append(add)
}
}
}
}
に戻り値の型を設定しようとしましたか?ありがとう
あなたの 'Players'クラスは単なる' Player'という名前にするべきだと思います。 – jtbandes