4

私は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;
}

}

更新
デバイスでアプリを実行しようとしたところ、テーブルが正常に機能しているだけで、シミュレーターにデータが表示されていません。

4

1 に答える 1

0

シミュレーターではなくデバイスにデータが読み込まれている場合は、場所をシミュレートしていないことが問題である可能性があり、クエリが結果をプルしてテーブル ビューに入力できない可能性があります。

このような場合は、次のオプションを使用して場所をシミュレートできます:
1) Xcode -> Debug -> Simulate Location (下のスクリーンショットを参照) のいずれかの都市を選択するか、GPX ファイルをプロジェクトに追加します。
2) シミュレーター -> デバッグ -> 場所 (下のスクリーンショットを参照)。
3) シミュレーターのマップを介して場所を設定することもできます (参照: http://apple.co/1JtnYIv )。

ここに画像の説明を入力

于 2015-12-23T01:56:11.893 に答える