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

Xcode 6 + iOS 8 SDK 但部署在 iOS 7 (UIWebKit & WKWebKit)

xCode 4.6.3 蜡框架