我在使用SLRequest for Twitter中的参数时遇到了麻烦(因为它必须是[NSObject:AnyObject]的一种类型!但是Twitter API要求Int作为参数)。我所做的是将参数保持为[NSObject:AnyObject]并计划声明另一个变量以将其更改为Integer。怎么做到这一点?
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值进入变量TweetID?
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
答案 0 :(得分:0)
tweetID = twtID as [NSObject : AnyObject]
的声明会导致两个错误。
Int
转换为字典([NSObject : AnyObject]
)。在方法
中指定相应键的值tweetID["id"] = twtID
由于text
和twtID
似乎始终存在并在init
方法中初始化,因此将它们声明为非可选项。