2015-07-22 1 views
0

Я пытаюсь загрузить мой PFQueryTableViewController с этим запросом .. он продолжает возвращаться в исходное состояние ... Я не думаю, что я возвращаю запрос правильно. Я не знаю, как доступ к объектам из «secondQuery», который находится в «AdminQuery».Как вернуть несколько findObjectsInBackground в PFTablequery

Заранее благодарен!

func queryForTable() -> PFQuery { 

let getAdminquery = PFQuery(className: "Employee") 
getAdminquery.whereKey("companyEmployee", equalTo: PFUser.currentUser()!.objectId!) 
getAdminquery.findObjectsInBackgroundWithBlock { (objects, error) -> Void in 

    if error == nil { 

    if let objects = objects as? [PFObject] { 

     for object in objects { 

     let adminFollowingUser = object["companyAdmin"] as! String 

     let secondQuery = PFQuery(className:"PoolAccount") 

     secondQuery.whereKey("userId",equalTo:adminFollowingUser) 
     secondQuery.findObjects() 

     } 
    } 
    } 
} 

return getAdminquery //return secondQuery can't be called... 
    } 
+0

Я не уверен, что этот код неполный или нет, но это очень странно, чтобы определить функцию внутри такого закрытия. Но в любом случае не похоже, что вы вызываете эту функцию, и она не будет доступна за пределами этого закрытия, поэтому сама закрытие ничего не делает. Я не могу точно сказать, решит ли это все ваши проблемы, но если вы просто избавитесь от этой вложенной функции 'queryForTable' и позвольте коду в своем теле выполнять в теле закрытия, вы можете, по крайней мере, продолжить отладку. –

ответ

1

Как утверждает Патрик Линч, вы определяете функцию внутри замыкания. Я не думаю, что вам нужен этот dispatch_async, так как PFQueryTableViewController уже выполняет эту работу за вас. queryForTable() не должно быть внутри viewDidLoad.

Определите, какой класс вам нужен для отображения таблицы, это PoolAccount? QueryForTable поддерживает только возврат одного запроса. Однако, если ваши классы связаны, вы, возможно, сможете это сделать в любом случае, с PFQuery(orQueryWithSubqueries) и query.includeKey().

Примечание: Однако, когда вы выясните, как правильно запустить метод, вы создаете запросы objects.count в цикле for. Если первый запрос получит 200 результатов, вы хотите запустить еще 200 запросов? Вероятно, это превысит ваш запрос на Parse.com.

Вместо этого рассмотрите возможность хранения всего adminFollowingUser в массиве и запросите PoolAccount с помощью .whereKey("key", containedIn: YourArray) или аналогичного.

+0

класс, который я бы хотел отобразить, это класс «Учетная запись пула» ... но его немного сложнее ... как и тип instragram, где вы, если будете следовать за кем-то, вы увидите там информацию ... так вот что Я пытаюсь выйти из первой части запроса ... im запрос для пользователя, за которым следуют, а затем запросить информацию о пользователях ... поэтому его запрос из двух разных классов ..... я обновил мою код для ya. просто не уверен, как идти о том, чтобы получить объекты из подклассерованного класса ... im все еще работает над этим ... если у вас есть какие-либо другие идеи, дайте мне знать спасибо! –

+0

Хорошо, я сделал несколько вещей в «Парсе». Я создал класс под названием «follow» с двумя указателями, User -> _User и Next -> _User. Затем я запрашиваю.whereKey (User, equalTo: PFUser.currentUser(). Таким образом, в результате я получаю всех пользователей, которые следуют currentUser. Затем я делаю еще один запрос из сообщения, возможно, учетную запись пула в вашем случае, где сообщение (в моем случае) публикуется любым пользователем из первых результатов (я помещаю их в массив и query.whereKey («ключ», содержащийся в »). Обратите внимание, что я не использую PFQueryTableVC, а обычный, так как я нужны два запроса из отдельных классов. – Mattias

+0

awww ... я вижу ... это проблемы, которые у меня были ... я могу заставить их отображать на обычном столе, добавляя объекты в массив ... но мой основной проблема в том, что у вас есть контроллер подробного представления с этими возвращенными объектами ... у вас есть контроллер представления подробностей из ваших обычных табличных представлений с этими pfobjects, которые вы вернули? Именно по этой причине я пытаюсь сделать это на PFQuerytableview только для аспекта контроллера подробного представления ... –