2015-02-06 3 views
0

В настоящее время я начинаю с моих первых шагов синтаксического анализа, но в настоящее время я придерживался очень простой точки. Есть ли способ вернуть массив со списком всех моих «objectID» из моего «parseObject»?Parse.com получить ObjectIDs с Swift

Я просто хочу массив, получить весь автоматический набор ObjectId из одного «стола»

ответ

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

Если я правильно понимаю ваш вопрос вы должны сделать запрос ваших объектов, например:

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

Это вернет все фото объекты, которые были сохранены текущим пользователем. Вы также можете добавить любые другие фильтры. Пожалуйста, исправьте меня, если я ошибаюсь или не поймаю вопрос правильно.

+3

Вы должны перевести его в быстрое, так как это то, что указано в заголовке вопроса, а ОП отмечен быстрым. OP может знать, как перевести его на быстрый, однако вы ответили в Obj-C, поэтому будущие искатели вопроса, которые нажимают на заголовок, который говорит «получить ObjectIDs с _Swift_», не будут иметь того же вывода, что и OP – soulshined

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) 
    } 
Смежные вопросы