我想要查詢我的數據庫中的所有Parse用戶,然後在TableView中顯示他們自己的單元格中的每個用戶。我建立了我的tableview,但我堅持把用戶查詢保存到可在tableview中使用的字符串數組中。我創建了一個loadParseData
函數,用於在後臺查找對象,然後將查詢的對象追加到字符串數組中。不幸的是,我在附加數據的行上給出了一條錯誤消息。Swift將PFQuery轉換爲用於TableView的字符串數組
Implicit user of 'self' in closure; use 'self.' to make capture semantics explicit'
這在我看來,它是我用self.
,而不是usersArray.
建議,因爲這是一個閉包內,但如果我運行這種方式,我給另一個錯誤,*classname* does not have a member named 'append'
這裏是我的代碼:
import UIKit
class SearchUsersRegistrationViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
var userArray = [String]()
@IBOutlet var tableView: UITableView!
override func viewDidLoad() {
super.viewDidLoad()
tableView.delegate = self
tableView.dataSource = self
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func loadParseData(){
var query : PFQuery = PFUser.query()
query.findObjectsInBackgroundWithBlock {
(objects:[AnyObject]!, error:NSError!) -> Void in
if error != nil{
println("\(objects.count) users are listed")
for object in objects {
userArray.append(object.userArray as String)
}
}
}
}
let textCellIdentifier = "Cell"
func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
//return usersArray.count
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier(textCellIdentifier, forIndexPath: indexPath) as SearchUsersRegistrationTableViewCell
let row = indexPath.row
//cell.userImage.image = UIImage(named: usersArray[row])
//cell.usernameLabel?.text = usersArray[row]
return cell
}
}
感謝您的回答,這是非常有益的,但我想知道如果您可以幫助我處理需要播放的對象,以便在單元格中顯示用戶。我解釋說,設置'cell.usernameLabel.text = userArray [行]爲? PFUsers'但我顯示'不能分配'PFUser'類型的值?到'String?'類型的值?'我是否在投射錯誤的對象? – cphill
一個PFUser是一個類 - 基本上是一個字典 - 具有不同的鍵/值對:電子郵件,用戶名等...將文本標籤設置爲PFUser不會獲取用戶名,它會嘗試使用整個PFUser,不要做。您必須自行獲取PFUser的用戶名屬性。嘗試像我上面添加的東西。 – user3353890
我無法將其格式化爲評論,我將其添加爲上面的答案。 – user3353890