2017-04-02 7 views
0

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を含む)が異なるサイズを持つことになり、結果的に値の割り当てが調整されなくなります。それらは並列配列になっています。そして、私はこれらの配列の値を使って表のセルに値を代入しています。

あなたは私の問題を理解してくれることを願っています!事前に感謝

答えて

0

あなたのusernameフィールドは間違いなく空ではありません。 profile_pictureがnilであるかどうかを確認した後でelseを追加できます。 Like:

if let picture = object.object(forKey: "profile_picture") as? PFFile { 
    self.searchImages.append(picture); 
} else { 
    self.searchImages.append(UIImage(named:"placeholder")) 
} 
+0

お返事ありがとうございました。私はそれをしたが、どちらもうまくいかなかった。私が今行ったのは、以下のように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を確認します。 –

関連する問題