Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
swift解析查询如何为每个用户名获取第一个createdAt?_Swift_Parse Platform - Fatal编程技术网

swift解析查询如何为每个用户名获取第一个createdAt?

swift解析查询如何为每个用户名获取第一个createdAt?,swift,parse-platform,Swift,Parse Platform,如何为每个用户名获取createdAt的第一行 例如:后端看起来像这样 objectId- username - photo - createdAt 5135Aer - name1 - image - 2015-08-21 R35AAA - name6 - image - 2015-08-21 G7356W - name3 - image - 2015-08-20 E355B - n

如何为每个用户名获取createdAt的第一行

例如:后端看起来像这样

objectId-   username - photo   -  createdAt

5135Aer    -   name1      - image   -  2015-08-21

R35AAA     -   name6      - image   -  2015-08-21

G7356W     -   name3      - image   -  2015-08-20

E355B      -   name1      - image   -  2015-08-20
因此,我希望查询将获取所有行并跳过name1,即createdAt 2015-08-20最后一行,因为这一旧行我只希望每个用户都有新的createdAt行

let query = PFQuery(className: "test")
        query.whereKey("receivers", equalTo: PFUser.currentUser()!.username!)
        query.orderByDescending("createdAt")
        query.findObjectsInBackgroundWithBlock {
            (objects, error) -> Void in

            if error == nil {

                self.createdAtArray = objects!
                print(objects!.count)

我尝试过这个查询,但它将使用旧的createdAt,我只希望每个用户都有新的createdAt,是的,我已将
限制设置为=1
,但它将显示不是每个用户的最后一条记录!它只显示一个结果。

因此,从现在起每20分钟我都会要求提供最近的对象,因此如果您希望在50分钟或更长时间后查询图像,只需更改时间戳的值

let query = PFQuery(className: "test")
query.whereKey("receivers", equalTo: PFUser.currentUser()!.username!)
 query.orderByDescending("createdAt")
 var timeStamp = NSDate(timeIntervalSinceNow: -1200)
 query.whereKey("createdAt", greaterThanOrEqualTo: timeStamp)
 query.findObjectsInBackgroundWithBlock { (objects:[AnyObject]?, error:NSError?) -> Void in
if error == nil
{
    if let objects = objects as? [PFObject]
    {

        for one in objects
        {
            var Getimage = one["image"] as! PFFile
             Getimage.getDataInBackgroundWithBlock({ (data:NSData?, error:NSError?) -> Void in

                var image = UIImage(data: data!)
                // you have the image now
                createdAtArray.addObject(image!)

            })

          }
      }
  }

 }
第二个选项:要从解析中获取最后一个对象,请使用**getFirstObject方法

 func secondQuery(arraydetails:NSMutableArray){
   var query = PFQuery(className: "")
  query.orderByDescending("createdAt")
  query.limit = 1
  query.getFirstObjectInBackgroundWithBlock { (object:PFObject?, error:NSError?) -> Void in

    if error == nil
    {
        var detail = object?.objectForKey("text") as! String
         arraydetails.addObject(detail)
    }

   }

  }

你想做什么?那么你想只为每个用户创建新数据吗right@Lamar我希望得到最后一个用户的更新,比如显示他们最后的图像、消息等,我不希望他们的名字重复,我只希望每个用户的第一行createdAt。你能帮我吗?谢谢,但我不想这样的用户名重复,我只想为每个用户名一行我不想它是重复的,我不想计时器,我只想为每个用户创建第一个不重复的数据,请你能帮我吗?所以你试过这个代码。。。它还给了你什么?我试过了,我有重复的名字!是否有任何方法可以为每个用户获取第一个createdAt,而无需重复?有一列包含名称,例如:name1-message hello,name1-message bye,所以我想获取用户的第一个createdAt行。我想知道它是否工作。。。因此,在for in循环中创建一个objectid变量,如var objectid=one.objectid,然后创建if和else语句,查看objectid是否与自身不相等。。。如果objectID!=objectID,因此如果语句中添加图像检索代码**每行有不同的objectID,请看这张图片: