我想要做的是将我的信息从Json文件显示到Xcode(Swift)上的TableView中。这是我想要的一个例子:
我想从国家,城市和城市的一些附加信息中检索我的json数据。在第一个屏幕中,我想在TableView中显示国家/地区的名称:
然后,当我在一个国家(例如美国)的单元格中clic时,我想打开一个包含来自USA的所有州(或城市)的新TableView。所以我在美国clic,我在第二个屏幕上有以下信息:
最后,当我在某个州(或城市)陈词滥调时,例如在纽约,我希望从我选择的州(纽约州)中显示一些附加信息。所以在第三个屏幕中我有:
“纽约是一个很棒的城市......等等”
我想从一个tableview到另一个tableview navegate,所以我不知道如何为每个tableview添加屏幕顶部的“后退”按钮。我希望在不同的单元格中显示国家和城市,因此我可以对它们进行陈述并显示信息。
这是我的json示例:
[
{
"country": "Brazil",
"city": [
"Sao Paulo",
"Rio de Janeiro"
]
},
{
"country": "Germany",
"city": [
"Berlin",
"Frankfurt"
]
},
{
"country": "France",
"city": [
"Paris",
"Marselle"
]
},
{
"country": "USA",
"city": [
"Florida",
"New York",
"California",
"Nevada"
]
},
{
"country": "Argentina",
"city": [
"Buenos Aires",
"Mendoza",
"La Plata"
]
},
{
"country": "England",
"city": [
"London",
"Manchester",
"Liverpool"
]
}
]
请有人帮我这样做吗?我该怎么做?非常感谢!
答案 0 :(得分:3)
这非常简单,大部分工作都是由iOS和Xcode完成的,你不会做那么多工作。
您需要了解以下主题:UITableView
,UINavigationController
和Storyboards
。
您可以按照this教程进行操作,您会发现这是一项非常简单的任务。
以下是步骤:
UINavigationController
,以便免费获取所有导航内容。prepareForSegue
(在我上面提到的教程中描述)将选定的国家/地区对象传递到Cities屏幕。请先阅读教程,然后你会很清楚我提到的步骤。这项非常简单的任务大约需要1个小时。
答案 1 :(得分:0)
您的表视图数据源方法是针对此用例设计的:
使用存储的NSIndexPath *selected
跟踪didSelectRow中的ui状态
向数据源方法添加if语句,if (selected)
添加到cellForRow和numberOfRows
在selected == nil
逻辑分支中,return dict.keys.count
代表行数,并返回dict.keys[indexPath.row][@"country"]
作为行的标题
在selected != nil
分支中,return dict[dict.keys[selected.row][@"cities"].keys.count
代表行数,并返回dict[dict.keys[selected.row]][@"cities"][indexPath.row]
作为行标题