所以我想创建一个应用程序,人们可以看到他们所在的组。因此,对于他们已经或已经添加的每个组,它将被保存在一个名为“grupper”的解析中。他们的用户名保存在“用户名”列下,他们所在的组是“gruppe”。
我一直在搜索可以在表格视图中检索其组的脚本。我没有收到任何错误,但表视图只是空白。
我无法指出为什么它不会检索它们所在的任何名称。
我是stackoverflow和swift的新手,所以如果我需要提供更多信息,请告诉我。
以下是我的代码:
@IBOutlet weak var grupper: UITableView!
var userArray: [String] = []
func retrieveMessages() {
let userArray: [String] = []
let query:PFQuery = PFQuery(className: "grupper")
let currentUser = query.whereKey("username", equalTo: PFUser.currentUser()!.username!)
currentUser.findObjectsInBackgroundWithBlock {
(objects, error) -> Void in
for object in objects! {
let username:String? = (object as PFObject)["gruppe"] as? String
if username != nil {
self.userArray.append(username!)
}
}
self.grupper.reloadData()
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
// MARK: - Table view data source
func numberOfSectionsInTableView(gruppe: UITableView) -> Int {
// #warning Potentially incomplete method implementation.
// Return the number of sections.
return 1
}
func grupper(grupper: UITableView, numberOfRowsInSection section: Int) -> Int {
// #warning Incomplete method implementation.
// Return the number of rows in the section.
return userArray.count
}
func grupper(grupper: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
// Update - replace as with as!
let cell = grupper.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as UITableViewCell
cell.textLabel?.text = userArray[indexPath.row]
return cell
}
答案 0 :(得分:0)
不清楚何时以及从哪种方法调用retrieveMessages
方法。
首先,确保从retrieveMessages
(第一次访问该视图时调用)或viewDidLoad
(即viewWillAppear
调用class YourController: UIViewController {
override func viewWillAppear(animated: Bool) {
retrieveMessages()
}
// ... your other code is omitted for brevity ...
}
每次访问视图时调用。)
例如:
retrieveMessages
第二次,如果您已经在执行上述操作(或类似的操作),请确保print
方法中的查询返回数据。
您可以添加一个临时userArray
行来检查func retrieveMessages() {
// ... your code is omitted for brevity ...
print("userArray size = \(userArray.count)")
}
数组的大小。 (或者,您可以使用调试器进行检查。)
例如:
var installedDate: NSDate? {
get {
return NSUserDefaults().objectForKey("installedDateKey") as? NSDate
}
set {
NSUserDefaults().setObject(newValue, forKey: "installedDateKey")
}
}