0

私は Swift を初めて使用し、現在のユーザーの場所を見つけようとしています。次に、近くのすべてのユーザーにクエリを実行UITableViewし、ストーリーボードにロードします。ただし、コードをビルドすると、データが表示されませんUITableView(Parse はバックエンドです)。問題を調査しようとしたところ、次の使用方法が見つかりましたPFQueryTableViewController

データをロードしない迅速なPFQueryTableViewController

しかし、私がこれを行うとき

required init(coder aDecoder: NSCoder) {
    super.init(coder: aDecoder)
  }

常にNSExceptionエラーを返します。この問題を修正したり、以下のコードを修正して解析データをテーブル ビューに返すにはどうすればよいですか?

import UIKit
import Parse
import ParseUI
import CoreLocation

class MasterTableViewController: PFQueryTableViewController {

var usersLocation: PFGeoPoint? {
    didSet {
        // This will reload the tableview when you set the users location.
        // Handy if you want to keep updating it.
        if (tableView != nil) {
            tableView.reloadData()
        }
    }
}

override func viewDidLoad() {
    super.viewDidLoad()

    PFGeoPoint.geoPointForCurrentLocationInBackground { point, error in
        if error == nil {
            self.usersLocation = point
        }
    }

}

override func queryForTable() -> PFQuery {
    var query = PFQuery(className: "User")
    if let location = usersLocation {
        query.whereKey("location", nearGeoPoint: location)
    }
    query.limit = 10
    return query
}
4

1 に答える 1

0

あなたの queryForTable メソッドでは、Userクラスをクエリしようとしているようです。

Parse docs から、ユーザーを照会するには、特別な方法があります。

例:

var query = PFUser.query()

query.whereKey("gender", equalTo:"female")

var girls = query.findObjects()

https://www.parse.com/docs/ios/guide#users-querying

うまくいけば、それは役に立ちます

于 2015-05-21T06:07:32.120 に答える