0
我有一個存儲在Parse(後端)上的用戶列表,其中存儲了用戶的個人資料圖片,名爲「profile_picture」。但是,某些用戶沒有個人資料圖片,因此他們的profile_picture列是「未定義」(沒有值)。如何處理空PFFile對象(解析後端,Swift)
我正在使用搜索欄查詢所有用戶,並使用用戶的個人資料圖片和用戶名更新tableview。我這樣做是通過附加的用戶名VAR SearchResult所= String和輪廓PIC爲VAR searchImages = PFFile查詢,像這樣經過:
let query = PFQuery.orQuery(withSubqueries: [usernameQuery!,fbUsername!, firstnameQuery!, lastnameQuery!]);
searchActive = true;
query.findObjectsInBackground { (objects, error) in
if error != nil {
print("There was an error getting userlist");
}
else {
if let users = objects {
self.searchResults.removeAll(keepingCapacity: false);
for object in users {
if let user = object.object(forKey: "username") as? String {
self.searchResults.append(user);
}
if let picture = object.object(forKey: "profile_picture") as? PFFile {
self.searchImages.append(picture);
}
self.searchTableView.reloadData();
}
的問題是,當「profile_picture」一欄是空的,它確實不附加任何內容,這意味着searchResults數組(包含用戶名)和searchImages數組(包含PFFiles)具有不同的大小,這會導致值的分配不協調。他們應該平行排列。我使用這些數組中的值在表格單元格中分配值。
希望你們明白我的問題!在此先感謝
嗨,感謝您的回覆。我確實這麼做了,但也沒有奏效。我現在所做的就是創建一個名爲userInfo的結構,如下所示: struct userInfo { var searchResults:String =「」 var searchImages:UIImage = UIImage(named:「defaultProfile.png」)!; } 但是,它現在只顯示defaultProfile圖片和沒有下載的圖片。這是我正在做的,以在cellforrowatindexpath中分配值: cell.usernameLabel.text = checks [indexPath.row] .searchResults; cell.userImage.image = checks [indexPath.row] .searchImages; –