新しいParse(parse.com)です。私はparse.comのような種類のテーブルを持っています: swift: "Parse"から画像を取得する
そして私はこれらの3つのイメージを取得し、テーブルビューの行に入れたいと思います。そして、ここに私のコードはあります:
class LeaguesTableViewController: UITableViewController {
var leagues = [PFObject]() {
didSet {
tableView.reloadData()
}
}
var leaguesImage = [NSData]() {
didSet {
tableView.reloadData()
}
}
override func viewDidLoad() {
super.viewDidLoad()
loadData()
tableView.registerClass(LeaguesTableViewCell.self, forCellReuseIdentifier: "ReusableCell")
}
// MARK: - Table view data source
override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return leagues.count
}
override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
return 160
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("ReusableCell", forIndexPath: indexPath) as! LeaguesTableViewCell
cell.leagueImage.image = UIImage(data: leaguesImage[indexPath.row])
cell.leagueNameLabel.text = leagues[indexPath.row]["name"] as? String
return cell
}
// MARK: Parse
func loadData() {
let query = PFQuery(className: "Leagues")
query.findObjectsInBackgroundWithBlock { (objects, error) in
if(objects != nil && error == nil) {
// List of leagues
for i in objects! {
self.leagues.append(i)
// Retrieve images
let imageFile = i["image"] as? PFFile
imageFile!.getDataInBackgroundWithBlock { (imageData: NSData?, error: NSError?) -> Void in
if error == nil {
if let imageData = imageData {
self.leaguesImage.append(imageData)
}
}
}
}
} else if error != nil {
print("Error is: \(error)")
}
}
}
}
ここに私のコードはありますが、すべての点で問題ありません。しかし、私はエラーがあります:範囲外のインデックス。私のリーグ映像配列は空です。ありがとうございました。
あなたの答えはありがたいですが、私はこの文章で何を意味するのか分かりません。「あなたのカスタムセルにリーグのプロパティを追加しますそこにデータをダウンロードしてイメージを適用する」と語った。 –
'var league:PFObject'プロパティをセルに追加し、そのプロパティの' didSet'でデータを取得します。 – EmilioPelaez
whatsはセルにプロパティを追加する意味ですか? Plsは、完全に答えることができます。モバイル開発の新機能 –