在 Swift 2 和 Xcode 7 中使用来自 youtube 视频的 JSON 数据填充 UITableView

Posted

技术标签:

【中文标题】在 Swift 2 和 Xcode 7 中使用来自 youtube 视频的 JSON 数据填充 UITableView【英文标题】:Populating UITableView with JSON data from youtube videos in Swift 2 and Xcode 7 【发布时间】:2015-11-07 17:43:32 【问题描述】:

我正在尝试构建一个基本上是 youtube 播放器的应用程序。 它有一个 UITableView,其中 JSON 数据将根据用户的搜索(在搜索栏中)从 youtube 中解析出来,并将其与视频图像、标题和小描述一起显示在单元格上。

如果用户单击单元格,则会打开一个新视图并显示视频播放器,用户可以在其中播放/停止/擦洗并查看有关视频的更多详细信息。

我的问题是如何用这些数据准确地填充单元格,以及如何将下一个视图与它链接起来。

有人知道怎么做吗?你能告诉我如何做的代码,或者给我一些关于在哪里找到答案的建议吗?

提前致谢! :)

【问题讨论】:

【参考方案1】:

您首先必须创建一个 UITable 并实现委托方法以及一个自定义类,如果您不希望该类的默认行为,该类将充当 UITable 的单元格。

为了将数据传递给细节,您将使用称为 segue 的东西,您可以查看 github 上的以下项目。

至于从 youtube 获取数据,您可能会从 youtube 获得 json 响应,您必须对其进行解码并将对象添加到列表中。然后,您只需将对象分配给对应的元素,如下所示。

    //the view of every cell of the list
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell 

    //custom cell identifier
    let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as! ViewControllerCell

    //setting up the images and casting them from strings to UIImages
    let imageURL = NSURL(string: JSONGameImages[indexPath.row])
    let data = NSData(contentsOfURL: imageURL!)

    //setting game name, images and viewers on cells
    cell.gameName?.text = JSONGameName[indexPath.row]
    cell.gameViewers?.text = String (JSONViewers[indexPath.row])
    cell.gameImage?.image = UIImage(data: data!)


    return cell

https://github.com/renegens/Greenely

【讨论】:

你好勒内,谢谢你的回答!我已经对 UITables 和 segues 有点熟悉了,我的问题是如何将特定的 JSON 数据(缩略图、标题、描述和视频)从 youtube 解析到单元格。 更新答案。 嗨,Rene,非常感谢您抽出宝贵的时间!我还没有尝试过,因为我仍在尝试了解如何从 youtube 获取 JSON 数据,但我已经使用相同的结构创建了一个包含自定义单元格的表格 :) 我已经让 tableView 可以处理 3 个视频我手动插入,我现在要学习如何使用 youtube API,我猜是 Swifty JSON。你可以在这里看到我现在拥有的东西:link 谢谢! 你好,没问题,最好像你建议的那样开始使用像 Swifty 这样的库,因为如果你不使用它,如果让语句到达json 对象。使用 Swifty,您可以将 json 映射到一个类并在其上使用类属性。

以上是关于在 Swift 2 和 Xcode 7 中使用来自 youtube 视频的 JSON 数据填充 UITableView的主要内容,如果未能解决你的问题,请参考以下文章

无法使用 Swift 在 Xcode 中使用 Parse 1.7.2 和 Facebook SDK 4.1 创建新用户

如何将图像添加到 PFTableViewCell Swift 2 Xcode 7

CocoaPods 在 Xcode 7 Swift 2.2 中没有这样的模块

Swift 2.0,Xcode 7 问题

如何使用 Swift 2 + XCode 7 + iOS 9 获取和解析 JSON [重复]

无法使用 Swift 2 在 Xcode 7 beta 中导入 FBSDK