【问题标题】:Creating an Array of objects from the Facebook SDK in Swift在 Swift 中从 Facebook SDK 创建一个对象数组
【发布时间】:2014-11-13 10:37:48
【问题描述】:

我一般是 Swift 和 IOS 编程的新手,所以我可能只是在谷歌上搜索了错误的东西

我让 Facebook SDK 工作并返回相册。现在我想要名为 Album 的对象中的数据。这些专辑对象将是我的集合视图单元格的数据源

尝试执行此操作时遇到以下问题:

我无法将我的对象放入我的对象数组中!这是我到目前为止的代码:

  var i = 0
    var list: [String] = []
    for rawFeed : AnyObject in data {
        if rawFeed is FBGraphObject {
            if var jsonFeed = rawFeed as? FBGraphObject {
                var app = jsonFeed["name"] as String
                list.append(app)

                 var i = Album(albumName: jsonFeed["name"] as String , albumId:jsonFeed["id"] as Int,count: jsonFeed["count"] as Int)
                arrayOfAlbums.append(test)
                i++
            }
        }

我想我会使用 i 的值作为对象名称。

像这样:

arrayOfAlbums = {
[0] => AlbumObject0,
[1] => albumobject1
}

尝试执行此操作时,i++ 规则出现以下错误: “专辑”与“CGFloat”不同

我做错了什么,我在哪里可以改进我的代码?

【问题讨论】:

    标签: ios objective-c swift facebook-ios-sdk


    【解决方案1】:

    您正在重新定义 i 变量 - 我想您可能想将其命名为 test

    请注意,您可以在此处简化代码:

    if rawFeed is FBGraphObject {
        if var jsonFeed = rawFeed as? FBGraphObject {
    

    作为:

    if let jsonFeed = rawFeed as? FBGraphObject {
    

    【讨论】:

    • 我想将对象专辑命名为 i 的值:像这样|我=0| var i.value = 专辑|
    • 对不起,我不明白。 i 已定义为 Int 变量,您正在使用它来计算添加到 arrayOfAlbums 数组中的对象数。为什么要为不同的目的重复使用相同的变量名?
    • 我想使用 i 的值作为我的对象的唯一名称
    • i 被定义为整数,然后你在本地重新定义为Album,那它怎么会是一个名字呢?但是,如果您希望将其称为 i,则可以将外部整数变量重命名为其他名称,例如 var counter = 0,并将增量行更新为 counter++
    • 好吧,我认为作为 Swift 的新手,我可以创建一个值为 i 的对象专辑,并将其附加到我的 arrayOfAlbums 以为我的对象创建一个唯一的名称。但那是不可能的(我想我可以从你的回答中弥补)应该编辑问题
    猜你喜欢
    • 1970-01-01
    • 2021-03-30
    • 1970-01-01
    • 2018-10-10
    • 2021-12-24
    • 1970-01-01
    • 2020-12-21
    • 1970-01-01
    • 2017-05-07
    相关资源
    最近更新 更多