Parse(バックエンド)に格納されているユーザーの一覧があり、そのユーザーのプロファイル画像を格納する「profile_picture」という列があります。しかし、プロフィール画像のない特定のユーザーがいるため、profile_picture列は「未定義」(値なし)です。空のPFFileオブジェクトの処理方法(バックエンドの解析、Swift)
私は検索バーを使用してすべてのユーザーを照会し、ユーザーのプロファイルのpicとユーザー名でtableviewを更新しています。私は、VaRのにsearchResults =文字列にユーザー名を追加することによって、これを行うと、そのようなクエリ後のVAR searchImages = PFFileにプロフィールPIC:「profile_picture」列が空の場合、問題は、それがないされていることを
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();
}
何も追加しないと、searchResults配列(ユーザー名を含む)とsearchImages配列(PFFilesを含む)が異なるサイズを持つことになり、結果的に値の割り当てが調整されなくなります。それらは並列配列になっています。そして、私はこれらの配列の値を使って表のセルに値を代入しています。
あなたは私の問題を理解してくれることを願っています!事前に感謝
お返事ありがとうございました。私はそれをしたが、どちらもうまくいかなかった。私が今行ったのは、以下のようにuserInfoという構造体を作ることです: struct userInfo { var searchResults:String = "" var searchImages:UIImage = UIImage(名前: "defaultProfile.png")!; } これで、defaultProfile画像のみが表示され、ダウンロードされた画像は表示されなくなりました。これは、私がcellforrowatindexpathに値を代入するために行っていることです: cell.usernameLabel.text = checks [indexPath.row] .searchResults; cell.userImage.image = [indexPath.row] .searchImagesを確認します。 –