Установить переменную 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
метод объявляет их как необязательные.