gpt4 book ai didi

ios - 如何处理空 PFFile 对象(解析后端,Swift)

转载 作者:行者123 更新时间:2023-11-30 12:33:26 28 4
gpt4 key购买 nike

我在 Parse(后端)上存储了一个用户列表,其中有一个名为“profile_picture”的列,用于存储用户的个人资料图片。但是,有些用户没有个人资料图片,因此他们的 profile_picture 列是“未定义”(没有值)。

我正在使用搜索栏查询所有用户,并使用用户的个人资料图片和用户名更新表格 View 。我通过将用户名附加到 var searchResults = String ,并将个人资料图片附加到查询后的 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)具有不同的大小,这会导致不协调值的分配。它们应该是并行阵列。我使用这些数组中的值来分配表格单元格中的值。

希望大家能理解我的问题!提前致谢

最佳答案

所以您的用户名字段绝对不为空。我认为你可以在检查 profile_picture 是否为 nil 后添加一个 else 。喜欢:

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

关于ios - 如何处理空 PFFile 对象(解析后端,Swift),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43165482/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com