2017-07-02 19 views
-1

我想将数据从解析服务器加载到一个名为posts的数组中的模型文件,但我不知道如何。将Parse服务器中的数据加载到数组中的模型文件中。

下面是代码:

struct Post 

{VAR createdBy:用户 VAR TIMEAGO:字符串? var caption:String? var image: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 用户名:字符串? var profileImage:UIImage? }

+1

问题是什么? – Lawliet

+0

我是一名初学者,所以如何去做这件事。 – Mohamed

+0

我只是想从解析到数组职位的所有数据。 – Mohamed

回答

0

试试这个

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的 创建一个User对象 - 用户对象添加到您的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 
       ... 
      } 
     } 
    }) 
} 
+0

从服务器检索数据并将其附加到数组中。如何将这些数组添加到具有它自己的属性的posts数组中:struct Post { var createdBy:User var timeAgo:String? var caption:String? var image:UIImage? var numberOfLikes:Int? var numberOfComments:Int? var numberOfShares:Int? – Mohamed

+0

所以我会忽略我创建的其他字符串并专注于posts数组? – Mohamed

+0

这取决于你。问问你自己要使用哪些数据,然后你有答案。 – Lawliet

相关问题