私はParseのテーブルビュークラスを使用しています。テーブルビュー用のカスタムセルがあり、Xcode 6.3.2ではすべて正常に機能しました。開発者アカウントに 100 ドルを支払うことなくデバイスでテストを実行したいので、Xcode を 7 ベータ版に更新しました。
実際にクエリ結果をコンソールに出力しようとすると、結果が得られます。このビューにチャージされたコントローラーのコードは次のとおりです。
import UIKit
import Parse
import ParseUI
class MeetsTableViewController: PFQueryTableViewController {
// Initialise the PFQueryTable tableview
override init(style: UITableViewStyle, className: String!) {
super.init(style: style, className: className)
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
// Configure the PFQueryTableView
self.parseClassName = "Meets";
self.pullToRefreshEnabled = true;
self.textKey="city";
self.paginationEnabled = false;
}
// Define the query that will provide the data for the table view
override func queryForTable() -> PFQuery {
let query = PFQuery(className: "Meets");
query.orderByDescending("numberOfComming");
return query;
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath, object: PFObject?) -> PFTableViewCell {
var cell = tableView.dequeueReusableCellWithIdentifier("MyCell") as! CarTableViewCell!;
if cell == nil {
cell = CarTableViewCell(style: UITableViewCellStyle.Default, reuseIdentifier: "MyCell");
}
if let cityName = object?["city"] as? String{
cell?.meetName?.text = "מפגש ב\(cityName)";
}
if let address = object?["address"] as? String{
cell?.meetAddress?.text = address;
}
if let date = object?["date"] as? String{
cell?.meetDate?.text = date;
}
if let time = object?["time"] as? String{
cell?.meetTime?.text = time;
}
if let people = object?["numberOfComming"] as? Int{
cell?.peopleAttending?.text = "\(people)";
}
print(object); // console is printing query results successfully
if let thumbnail = object?["meetImg"] as? PFFile {
thumbnail.getDataInBackgroundWithBlock{
(imageData, error) -> Void in
if error == nil {
let image = UIImage(data: imageData!)
cell.meetImage.image = image
}}
}
return cell;
}
}
更新
デバイスでアプリを実行しようとしたところ、テーブルが正常に機能しているだけで、シミュレーターにデータが表示されていません。