2015-03-11 3 views
0

У меня есть массив, хранящийся в Parse, называемый друзьями и друзьями, имеет имена пользователей в нем, мне нужно запросить каждое имя пользователя и получить информацию от пользователей и сохранить эту информацию в разных массивах, вот что У меня сейчас. Он работает, но его очень медленно, потому что по какой-то причине он запрашивает 7 раз. Заранее спасибо!Query usernames out или parse array, Swift

var friends: [AnyObject] = user["friends"] as Array 
    var bioArray = [""] 
    var statusArray = [""] 
    var pictureArray = [] as NSMutableArray 
    var pictureUrl = [""] 
    for(var i = 0; i < friends.count; i++){ 
     var query = PFUser.query() 
     query.whereKey("username", equalTo:friends[i]) 
     var friendsArray = query.findObjects() 
     var bios : AnyObject = friendsArray[0]["bio"] as String 
     var status : AnyObject = friendsArray[0]["status"] as NSObject 
     var profilePicture: AnyObject = friendsArray[0]["profilePicture"] as PFFile 
     bioArray.insert("\(bios)", atIndex: bioArray.count-1) 
     statusArray.insert("\(status)", atIndex: statusArray.count-1) 
     pictureArray.addObject(profilePicture) 
     pictureUrl.insert(pictureArray[0].url, atIndex: pictureUrl.count-1) 
    } 

ответ

0

Это потому, что вы создаете новый каждый раз вы запрашиваете цикл корыта ваш массив ..

Попробуй как этот

var friends: [AnyObject] = user["friends"] as Array 

var bioArray = [""] 
var statusArray = [""] 
var pictureArray = [] as NSMutableArray 
var pictureUrl = [""] 

for var object in friends { 
    if friend is objects as? PFUser() { 
    var bios = friend["bio"] 
    // add it to the array etc 
    } 
} 

Если вы не получите всю информацию о пользователе вы можете вызвать функцию fetchIfNeeded

friend.fetchIfNeeded() 
+0

Awesome! Спасибо вам!!!! – user3673262