2015-04-26 2 views
1

Каков наилучший способ получить данные от Parse в TableView, сможете создавать разные разделы и хранить только 30 новейших объектов локально?UITableViewController с разделами с использованием Parse в качестве backend в Swift

My Applikation имеет PFObject Challenge, вызов может быть в состоянии «Принято» или «Не принят». Это также мои два Sections в TableView. При принятии вызова он должен «Pop» до Accepted Challenge Section. Это делается с помощью Boolean.

Я хотел бы использовать PFQueryTableViewController, если это возможно, так как он реализует некоторые полезные функции, но я узнал, что он поддерживает только TableViews с 1 секцией по умолчанию. Прямо сейчас, учитывая возможность загрузки 30 новейших PFObject из Challenge class и сортировать их в Dictionary с помощью 2 Arrays «Принято» и «Не принимается» с использованием стандартного UITableViewController. Загрузка будет выполняться в методе ViewDidLoad. Правильно ли это делается?

Также я хотел бы использовать функцию Parse и сохранять данные локально, поэтому пользователь все еще может использовать приложение, когда нет подключения к Интернету. Как я могу реализовать только 30 новых объектов?

ответ

0

Вы в порядке с UITableViewController, так как действительно PFQueryTableViewController s действительно предназначены в основном для 1 секционных столов. Что вам нужно сделать, так это настроить запросы для ваших таблиц в viewDidLoad: и получить обратный вызов, который обновляет таблицу при получении этих результатов.

Что касается фактической реализации, вы не указали, работаете ли вы в Swift или Objective-C, поэтому я просто отправлю вас к документации по анализу для запросов для любого случая, не зная, какой из них вам нужен: https://www.parse.com/docs/ios_guide#queries/iOS

Редактировать: На основании вашего комментария, извините, я не видел Swift в заголовке. В Swift вы можете установить параметры запроса таким образом, чтобы элементы УЖЕ отсортированы путем анализа на бэкэнд, а также ограничить возврат запроса до 30 элементов. Для этого просто эти две строки:

query.limit = 30 
query.orderByAscending("timeCreated") 
+0

Im работает с Swift (написано в заголовке). После того, как я получил звонок и я загрузил все данные, мне все равно нужно отсортировать их в словаре для моего TableView? И как я могу убедиться, что только 30 новейших объектов сохраняются локально с помощью функции «pin»? –

+0

Я не слишком уверен в связи с булавкой, но вы можете определенно определить количество результатов, которые можно получить, сортируя по времени создания и получая 30 результатов. – BHendricks