использовать один контроллер табличного представления для каждого нажатия на ячейку представления коллекции
у меня есть 5 ячеек просмотра коллекции с именами "Рестораны", "магазины", "медицинские", "салон", "парки" и так далее. Итак, теперь я установил 10 контроллеров представления и разместил табличное представление внутри каждого пяти контроллера, и я вызываю данные json и отображаю их в табличном представлении. У меня также есть одна пользовательская ячейка, где я использую для всех IEW контроля таблицы
Как сказать, если пользователь нажимает,Restaurant
, я перенаправлю на одно представление controlellr.In, которое я назвал веб-серверами `baseurl / category_01. Таким образом, из этого URL я получу имя, адрес, изображение и я буду отображать в моем табличном представлении
Но я знаю, что это неправильный способ. Если у меня есть ячейка с 20 коллекциями, то если я создаю контроллер с 20 представлениями и 20 таблицами, это будет нехорошо.
Это мое первое приложение в Swift 2.0.
Может ли кто-нибудь предложить мне использовать один просмотр таблицы с одним представлением таблицы для всех моих 10 ячеек данных представления коллекции.
Но одна вещь в моих данных ячейки представления коллекции - то, что я получаю от одного URL-адреса json. В том, что все данные определены как одна категория id.Like:
[
{
category_id : 0
category_name : Restaurant
},
{
category_id : 1
category_name : park
},
{
category_id : 2
category_name : shops
},
{
category_id : 3
category_name : medical
},
]
как мудрые данные из 10 ячеек, которые я буду отображать в табличном представлении. Поэтому, когда я использую один controllelr представления с одним табличным представлением, я должен упомянуть, `который нажимает indespath.row и который должен совпадать с моим идентификатором категории и shoyld, отображать соответствующие данные.
Теперь, что я использую в моемcollectionviewcontroller.swift
Я просто какой индексный путь пути нажмите, и я просто перейти к этому другому контроллеру представления
func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath) {
// You can use indexPath to get "cell number x", or get the cell like:
let cell = collectionView.cellForItemAtIndexPath(indexPath)
if((indexPath.row) == 0) {
let storyboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let vc: ViewController2 = storyboard.instantiateViewControllerWithIdentifier("ViewController2") as! ViewController2
self.presentViewController(vc, animated: true, completion: nil)
print("Layout 1 clicked")
}
else if((indexPath.row) == 1) {
let storyboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let vc: ViewController3Bank = storyboard.instantiateViewControllerWithIdentifier("ViewController3Bank") as! ViewController3Bank
self.presentViewController(vc, animated: true, completion: nil)
print("Layout 2 clicked")
}
Так, как сделать это с единственным представлением таблицы viewcontrolel1r .. Пожалуйста, помогите мне ..
Спасибо