我有5个名为&#34的集合视图单元; Resturants","商店","医疗" ,"客厅" ,"公园"等等。所以现在我设置了10个视图控制器,并在每个五个控制器内放置表视图,我调用json数据并在表视图中显示。我也有一个自定义单元格,我用于所有iew controlelr表视图
就像说,如果用户按,Restaurant
,我将重定向到一个视图controlellr。我已经调用了`baseurl / category_01的webservies。所以从这个网址我将获取名称,地址,图像,我将在我的表格视图中显示
但是我知道这是错误的做法。如果我有20个集合视图单元格。那么如果我创建20个具有20个表视图的视图控制器意味着不好。
这是我在swift 2.0中的第一个应用程序。
任何人都可以建议我使用单视图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
中使用的是。我只是按哪个索引路径行,我只是导航到另一个视图控制器
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表视图...请帮帮我..
由于
答案 0 :(得分:0)
将类别名称存储在数组或其他位置,随时按下单元格,通过从数组中选择它来调用特定类别,如下所示
categoryArray[indexPath.row]
然后,当要转换到另一个视图时,您将检查已选择的类别,并使用相关数据填充tableview。您可以设置如下结构:
func determineDataSource()
{
switch category
{
case "Restaurant":
print("restaurant")
.
.
.
}