2015-02-06 74 views
0

我目前从我的第一个解析步骤开始,但目前我坚持一个非常基础的点。 有没有办法从我的“parseObject”中取回所有“objectID”列表的数组?Parse.com用Swift获取对象ID

我只是希望得到所有的自动设置从一“表”

回答

3

这里是一个迅速解决:

 // objectIds is your array to store the objectId values returned from parse 
    // objectId is a String 

    var objectIds:[""] // empty string array 
    func loadDataFromParse() { 
     var query = PFQuery(className:"Record") 
     query.findObjectsInBackgroundWithBlock { 
      (objects: [AnyObject]!, error: NSError!) -> Void in 
      if error == nil { 
       // The find succeeded. 
       println("Successfully retrieved \(objects.count) scores.") 
       // Do something with the found objects 
       for object in objects { 
        objectIds.append(object.objectId as String) 
       } 
      } else { 
       println("\(error)") 
      } 

     } 

    } 


// this function will retrieve a photo in the record with specified objectId 
// and store it in noteImage 

    var noteImage = UIImage() // where retrieved image is stored 
    func loadImageFromParse (objectId: String) { 

     var query = PFQuery(className:"Record") 
     query.whereKey("objectId", equalTo:objectId) 
     query.findObjectsInBackgroundWithBlock { 
      (objects: [AnyObject]!, error: NSError!) -> Void in 
      if error == nil { 
       println("Successfully retrieved \(objects.count) records.") 
       for object in objects { 
        let userImageFile = object["image"] as PFFile! 
        userImageFile.getDataInBackgroundWithBlock { 
         (imageData: NSData!, error: NSError!) -> Void in 
         if error == nil { 
          noteImage = UIImage(data:imageData)! 
          println("Image successfully retrieved") 
         } 
        } 
       } 

      } else { 
       NSLog("Error: %@ %@", error, error.userInfo!) 
      } 
     } 
    } 
0

OBJECTID一个阵列如果我正确理解你的问题,你需要让你的对象的查询,例如:

PFQuery *userPhotosQuery = [PFQuery queryWithClassName:@"photos"]; 
[userPhotosQuery whereKey:@"user"equalTo:[PFUser currentUser]]; 
[userPhotosQuery orderByDescending:@"createdAt"]; 

这将返回当前用户保存的所有照片对象。 您也可以添加其他任何过滤器。 请纠正我如果我错了或不正确地捕捉到问题。

+3

你应该把它翻译成swift,因为这是问题标题所指出的,而且OP已经标记为swift。 OP可能知道如何将它翻译成swift,但是你在Obj-C中回答,所以未来的求职者点击标题为“用_Swift_获取ObjectIDs”的标题不会有与OP相同的结论 – soulshined 2015-02-06 17:23:51

1

我不认为解析提供了一种方式来获得所有OBJECTID在一个阵列。或者你可以遍历每个对象,并检索objectId的:

var objectIds = [String]() 

    let query = PFQuery(className:"TableName") 
    query.findObjectsInBackgroundWithBlock {(objects: [PFObject]?, error: NSError?) -> Void in 

     if error == nil { 
      if let objects = objects { 
       for object in objects { 
        objectIds.append(String(object.valueForKey("objectId")!)) 
       } 
      } 
     } else { 
      print("Error: \(error!) \(error!.userInfo)") 
     } 

     print(objectIds) 
    }