使用单个表视图控制器为每个集合视图单元格按下
我有5个收集视图单元名称“餐馆”,“商店”,“医疗”,“客厅”,“公园”等。 所以,现在我设置,10视图控制器,我把表视图里面每五个控制器,我打电话json数据和显示在表视图。 我也有一个自定义单元格,我在这里使用所有的控制台表格视图
就像说,如果用户按, Restaurant
,我将redirect到一个视图controlellr。在那个我已经叫`baseurl / category_01的webservies。 所以从这个url我将获取名称,地址,图像,我会显示在我的表格视图
但我知道这是做错的方法。如果我有20个集合视图单元格。那么如果我创build20个视图控制器与20个表视图意味着将不好。
这是我在swift 2.0中的第一个应用程序。
任何人可以build议我使用单视图controlellr与一个表视图我所有的10个单元的集合视图数据。
但是,我收集查看单元格数据中的一件事是我从一个json url中获取。在每个数据被指定为一个类别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按,这应该等于我的类别id和shoyld显示相关数据。
现在我在我的collectionviewcontroller.swift
使用的是。我只是哪个索引path行按,我只是导航到另一个视图控制器
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表视图..请帮助我..
谢谢
将类别名称存储在数组或其他地方,任何时候单元格被按下时,通过按如下方式从数组中select它,调用某个类别
categoryArray[indexPath.row]
然后,当转换到另一个视图即将完成时,检查已select的类别,并使用相关数据填充tableview。 你可以像这样build立一个结构:
func determineDataSource() { switch category { case "Restaurant": print("restaurant") . . . }