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

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

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

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

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

提前致谢! :)

【问题讨论】:

    标签: ios json swift uitableview parse-platform


    【解决方案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 映射到一个类并在其上使用类属性。
    猜你喜欢
    • 2015-11-09
    • 1970-01-01
    • 2016-11-18
    • 2014-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-20
    相关资源
    最近更新 更多