2016-10-28 7 views
0

В моем приложении на основе спорта у меня есть реляционная база данных с тремя отдельными таблицами, которые связаны; страна> подразделение> команда.Использование UIPicker для выбора данных из реляционной базы данных?

Я рассматриваю возможность использования UIPicker для этого. Сначала пользователь выбирает страну, затем подразделение, затем команду.

Для этого потребуется 3 отдельных сборщика, каждый из которых будет скрыт, а затем обнаружен по выбору каждого из них, с вызовом API в базу данных после каждого выбора, чтобы получить значения для следующего выбора?

Или есть альтернативный метод выбора, на который я должен обратить внимание?

+0

Один из способов, чтобы представить эту иерархию, естественно было бы использовать, чтобы использовать 3 отдельные контроллеры просмотра с видом таблицы для данных для каждого уровня. Поместите первый в контроллер навигации и нажмите каждый последующий контроллер вида на стек. –

+0

Общей моделью такого рода детализации является использование таблицы. Подумайте о приложении Music, где вы можете пойти художником, песней альбома. Выполнение этого с помощью сборщика может показаться странным. –

ответ

0

я сделал что-то подобное со странами, государственной/провинций и школы

struct Location { 

    let countries: [Country] 
    let states: [Country: [State]] 
    let schools: [State: [School]] 
} 

В основном я опрашивается API для создания этого struct тогда было три UITextFields с inputView к UIPicker то в каждом из моих UIPickerViewDelegate методов У меня были операторы switch, которые приписывали pickerView соответствующим требованиям и выполняли мою логику.

На основании этого struct вы можете увидеть, что Country был ключом к массиву State структур и State был ключом к массиву Schools.

Примечание: Вы должны получить пользовательские структур, чтобы соответствовать Hashable, чтобы получить этот вид funcitonality