Установить переменную int в переменную [NSNumber: Int]

У меня проблемы с использованием параметров в SLRequest для Twitter (так как это должен быть тип [NSObject: AnyObject]!, но API Twitter запрашивает 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] дает ошибку

Или можно заменить весь тип переменной и использовать в параметрах целое число?

редактировать 2: я решил изменить тип (после повторной проверки, [NSObject: AnyObject] является только ожидаемым типом аргумента) в [NSNumber: Int], любая идея, как подключить значение int, найденное из API Twitter в переменную 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

1 ответ

Декларация tweetID = twtID as [NSObject : AnyObject] вызывает две ошибки.

  • Вы не можете разыграть Int в словарь ([NSObject : AnyObject]).
  • Вы не можете выполнить код, подобный этой строке, на верхнем уровне класса.

Назначьте значение для соответствующего ключа в методе

tweetID["id"] = twtID 

Поскольку оба text а также twtID кажется, существуют все время и инициализируются в init метод объявляет их как необязательные.

Другие вопросы по тегам