0

我在使用 SLRequest for Twitter 中的参数时遇到了麻烦(因为它必须是 [NSObject : AnyObject]! 的类型,但 Twitter API 请求 Int 作为参数)。我所做的是将参数常量保留为 [NSObject : AnyObject] 并计划声明另一个变量以将其更改为整数。如何做到这一点?

var userName : String!
var text : String!
var name : String!
var tweetID : [NSObject : AnyObject]!
var twtID : Int!

tweetID = twtID as [NSObject : AnyObject]

var userLocation : String!
var UserImgURLStr: String?

init(jsonDataDictiony : [String : AnyObject])
{

    self.text = jsonDataDictiony["text"] as! String
    self.twtID = jsonDataDictiony["id"] as! Int!

将 tweetID = twtID 声明为 [NSObject : AnyObject] 给出错误

或者是否可以替换整个变量类型并在参数中使用 Integer?

编辑 2:我决定将类型(重新检查后,[NSObject : AnyObject] 只是预期的参数类型)更改为 [NSNumber : Int],知道如何将从 Twitter API 中找到的 int 值连接到变量中推文ID?

var userName : String!
var text : String!
var name : String!
var tweetID : [NSNumber : Int]!
var tweetIDInt : Int!

var userLocation : String!
var UserImgURLStr: String?

init(jsonDataDictiony : [String : AnyObject])
{

    self.text = jsonDataDictiony["text"] as! String
    self.tweetIDInt = jsonDataDictiony["id"] as! Int
4

1 回答 1

0

的声明tweetID = twtID as [NSObject : AnyObject]导致两个错误。

  • 您不能将 anInt转换为字典 ( [NSObject : AnyObject])。
  • 您不能在类的顶层执行像这一行这样的代码。

为方法中的适当键分配值

tweetID["id"] = twtID 

由于两者texttwtID似乎一直存在并且在init方法中初始化,因此将它们声明为非可选的。

于 2016-05-26T14:12:05.877 回答