1

总而言之,我对 iOS 开发真的很陌生,所以这意味着我对 Swift 很陌生。我了解其他编程语言,如 c#、PHP、Node JS 等。但是,我发现自己陷入困境,找不到任何答案。

我正在与 STTwitter 合作,我正在尝试获取我的 Twitter 的状态。我可以用正常的方法把它拉好。当我尝试添加一个循环时,我收到一个错误:Type 'Any' has no subscript members。

// Verifying Twitter API creds
    twitter?.verifyCredentials(userSuccessBlock: { (username, userId) in

        // Get Twitter Timeline Status
        twitter?.getHomeTimeline(sinceID: nil, count: 10, successBlock: { (statuses) -> Void in

            for status in statuses! {
                print(status["text"])
            }

        }, errorBlock: { (error) in
            print(error)
        })

        print(username, userId)
    }, errorBlock: { (error) in
        print(error)
    })

这是带有错误的实际编辑器的屏幕截图

错误出现在 for 循环内的 print 语句内的“状态”上。

任何帮助都会很棒!

4

1 回答 1

0

getHomeTimeline接受一个“块”(或 Swift 闭包),该“块”(或 Swift 闭包)传递一个NSArray *,它在 Swift 中被翻译为 [Any]。所以

    // Get Twitter Timeline Status
    twitter?.getHomeTimeline(sinceID: nil, count: 10, successBlock: { (statuses) -> Void in

        for status in statuses! {
            print((status as? NSDictionary)?["text"])
        }

    }
于 2018-02-15T06:46:52.580 回答