将数据从 Parse 服务器加载到数组中的模型文件中。
Loading data from Parse server into a model file in an array.
我想将数据从解析服务器加载到名为 posts 的数组中的模型文件中,但我不知道如何。
这是代码:
struct Post
{
var createdBy: 用户
var timeAgo: 字符串?
var 标题:字符串?
变种图像:UIImage?
var numberOfLikes:Int?
var numberOfComments:Int?
var numberOfShares: Int?
static func fetchPosts() -> [Post]
{
var posts = [Post]()
var usernameArray = [String]()
var avaArray = [PFFile]()
var dateArray = [Date?]()
var picArray = [PFFile]()
var titleArray = [String]()
var uuidArray = [String]()
let query = PFQuery(className: "posts")
query.findObjectsInBackground { (objects: [PFObject]?, error: Error?) in
if error == nil {
usernameArray.removeAll(keepingCapacity: false)
avaArray.removeAll(keepingCapacity: false)
dateArray.removeAll(keepingCapacity: false)
picArray.removeAll(keepingCapacity: false)
titleArray.removeAll(keepingCapacity: false)
uuidArray.removeAll(keepingCapacity: false)
// find related objects
for object in objects! {
usernameArray.append(object.object(forKey: "username") as! String)
avaArray.append(object.object(forKey: "ava") as! PFFile)
dateArray.append(object.createdAt)
picArray.append(object.object(forKey: "pic") as! PFFile)
titleArray.append(object.object(forKey: "title") as! String)
uuidArray.append(object.object(forKey: "uuid") as! String)
}
}
}
return posts
}
}
构造用户
{
变种用户名:字符串?
var profileImage: UIImage?
}
试试这个
static func fetchPosts() -> [Post]
{
var posts = [Post]()
var usernameArray = [String]()
var avaArray = [PFFile]()
var dateArray = [Date?]()
var picArray = [PFFile]()
var titleArray = [String]()
var uuidArray = [String]()
let query = PFQuery(className: "posts")
query.findObjectsInBackground { (objects: [PFObject]?, error: Error?) in
if error == nil {
// find related objects
if let returnedObjects = objects {
for object in returnedObjects {
usernameArray.append(object["username"] as! String)
avaArray.append(object["ava"] as! PFFile)
dateArray.append(object.createdAt)
picArray.append(object["pic" as! PFFile)
titleArray.append(object["title"] as! String)
uuidArray.append(object["uuid"] as! String)
}
}
}
}
return posts
}
为了将数据附加到您的 posts
,您需要
- 将 PFFile 转换为 UIImage
- 使用 UIImage 创建一个用户对象
- 将用户对象添加到您的 posts
if let avaPicture = object["ava"]! as! PFFile {
avaPicture.getDataInBackground({ (imageData: Data?, error: Error?) -> Void in
if (error == nil) {
let image = UIImage(data: imageData!)
if image != nil {
// Create your User object with UIImage here
let user = User()...
// Add the new user and other data to your `posts`array
...
}
}
})
}
我想将数据从解析服务器加载到名为 posts 的数组中的模型文件中,但我不知道如何。
这是代码:
struct Post
{ var createdBy: 用户 var timeAgo: 字符串? var 标题:字符串? 变种图像:UIImage? var numberOfLikes:Int? var numberOfComments:Int? var numberOfShares: Int?
static func fetchPosts() -> [Post]
{
var posts = [Post]()
var usernameArray = [String]()
var avaArray = [PFFile]()
var dateArray = [Date?]()
var picArray = [PFFile]()
var titleArray = [String]()
var uuidArray = [String]()
let query = PFQuery(className: "posts")
query.findObjectsInBackground { (objects: [PFObject]?, error: Error?) in
if error == nil {
usernameArray.removeAll(keepingCapacity: false)
avaArray.removeAll(keepingCapacity: false)
dateArray.removeAll(keepingCapacity: false)
picArray.removeAll(keepingCapacity: false)
titleArray.removeAll(keepingCapacity: false)
uuidArray.removeAll(keepingCapacity: false)
// find related objects
for object in objects! {
usernameArray.append(object.object(forKey: "username") as! String)
avaArray.append(object.object(forKey: "ava") as! PFFile)
dateArray.append(object.createdAt)
picArray.append(object.object(forKey: "pic") as! PFFile)
titleArray.append(object.object(forKey: "title") as! String)
uuidArray.append(object.object(forKey: "uuid") as! String)
}
}
}
return posts
}
}
构造用户 { 变种用户名:字符串? var profileImage: UIImage? }
试试这个
static func fetchPosts() -> [Post]
{
var posts = [Post]()
var usernameArray = [String]()
var avaArray = [PFFile]()
var dateArray = [Date?]()
var picArray = [PFFile]()
var titleArray = [String]()
var uuidArray = [String]()
let query = PFQuery(className: "posts")
query.findObjectsInBackground { (objects: [PFObject]?, error: Error?) in
if error == nil {
// find related objects
if let returnedObjects = objects {
for object in returnedObjects {
usernameArray.append(object["username"] as! String)
avaArray.append(object["ava"] as! PFFile)
dateArray.append(object.createdAt)
picArray.append(object["pic" as! PFFile)
titleArray.append(object["title"] as! String)
uuidArray.append(object["uuid"] as! String)
}
}
}
}
return posts
}
为了将数据附加到您的 posts
,您需要
- 将 PFFile 转换为 UIImage
- 使用 UIImage 创建一个用户对象
- 将用户对象添加到您的 posts
if let avaPicture = object["ava"]! as! PFFile {
avaPicture.getDataInBackground({ (imageData: Data?, error: Error?) -> Void in
if (error == nil) {
let image = UIImage(data: imageData!)
if image != nil {
// Create your User object with UIImage here
let user = User()...
// Add the new user and other data to your `posts`array
...
}
}
})
}