JSON & Xcode 6 UITableView
Posted
技术标签:
【中文标题】JSON & Xcode 6 UITableView【英文标题】: 【发布时间】:2014-09-26 04:39:43 【问题描述】:我需要一个将 Wcf 服务 URL 中的一些 Json 结果绑定到 Xcode 6 中的 UITableView 的示例。我尝试结合一些教程中的信息,我发现这些教程侧重于从 Json 创建一个 NSDictionary 并将其加载到标签或文本框,另一个几乎是在使用带有 UITableView 的 Json 的 NSArray 时发现的,但是 Json 数据源是文件路径而不是 URL,它缺少 Xcode 初学者需要的一些关键信息。我是一个体面的面向对象程序员,我的培训是在 .NET 中进行的,所以 Obj-C、Cocoa 和 Xcode 对我来说都是非常新的。这些以及对 Xcode 的所有更改,因为其中一些教程让这非常令人沮丧,所以如果有人能好心地引导我完成它,我将不胜感激。
问题
我应该使用 TableViewController,还是只使用 ViewController 和 UITableView?为什么?
连接到我的服务 URL (dataWithContentsFromURL?) 的最佳方式是什么?我应该如何加载数据以在 UITableView 中使用? NS词典? NSArray? NSMutableArray?
使用单个 ViewController 创建了一个新项目,这足以使用吗?我可以添加一个 UITableView 并完成我的任务吗?我如何命名这个 UITableView?如何设置它的数据源?
最终目标
我的 Wcf 服务 URL(如下)返回以下字段,此时我只想将每一行数据加载到我的 UITableView 中,其中包含 4 个相应字段的列...
服务 URL - http://domain.com/GetEmployees.svc
GetEmployeesMethod URL - http://domain.com/GetEmployees.svc/json/employees
第 1 列 (id) |第 2 列 (emp_Name) |第 3 列 (emp_Phone) |第 4 列 (emp_Cisco)
提前感谢您提供的任何帮助。到目前为止,我认为我的大部分代码至少接近正确,但作为 Xcode 的新手,我在将任何代码绑定到我的视图对象时迷失了......
【问题讨论】:
【参考方案1】:没有太大区别。如果您不想向该控制器添加任何其他视图,那么使用 UITableViewController 会更容易。数据源和委托已经设置好,并且你已经有了一个 tableView 属性。如果您想向此控制器添加任何其他视图,最好使用 UIViewController(如果您向 UITableViewController 添加任何视图,如果您使用 UITableViewController,它们将成为表格视图的一部分,因为控制器的主视图是表格查看)。
不,dataWithContentsOfURL 不是一个好方法。你应该使用 NSURLSession。
一个控制器就足以显示您的数据。如果你使用 UIViewController,你可以添加一个表格视图作为一个子视图,并给它起任何你想要的名字。如果您创建了一个名为 tableView 的属性,您将使用 self.tableView.dataSource = self 设置数据源。
UITableView 没有列,因此如果您想要 4 个“列”数据,则需要创建一个连续有 4 个标签的单元格。
【讨论】:
【参考方案2】:首先您必须知道如何使用UITableView
,为此请点击此链接Tableview in ios
在IOS中使用web服务AFNetworking
很好,知道怎么用,看看这个
AFNetworking ios,在这里你可以找到每一行的精彩解释
最后你可以使用UITabelViewController
和自定义UITableViewCell
和四个UILabels
来显示emp 详细信息,为此Custom UITableViewCells in ios
【讨论】:
以上是关于JSON & Xcode 6 UITableView的主要内容,如果未能解决你的问题,请参考以下文章
使用 swift 5 从远程读取 json 内容并在 Xcode 的主界面上打印
Xcode 7 beta (5 & 6) 看不到某些 VC 的 IBOutlets
NSMutableURLRequest setValue:forHTTPHeaderField xcode 6.2 不适用于“application/json; charset=utf-8”
将 JSON 解析为 TableView xcode 6.0.1,iOS8