2016-05-26 5 views
0

TwitterのSLRequestのパラメータを使用する際に問題があります([NSObject:AnyObject]!のタイプである必要があります)パラメータとして)。私がしているのは、[NSObject:AnyObject]のようにパラメータを定数のままにして、別の変数を宣言してIntegerに変更することです。これを達成する方法は?[NSNumber:Int]の変数にintの変数を設定します

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:私は[NSNumber:Int]を見直した後、[NSObject:AnyObject]が予想される引数の型だけです)、Twitterから見つかったint値をフックアップする方法APIを変数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

tweetID = twtID as [NSObject : AnyObject]の宣言では2つのエラーが発生します。

  • Intを辞書([NSObject : AnyObject])にキャストできません。
  • この行のようなコードをクラスのトップレベルで実行することはできません。

texttwtID両方が常に存在するように見えるとinit方法で初期化されているので法

tweetID["id"] = twtID 

で適切なキーの値を割り当て非オプションとしてそれらを宣言する。

+0

それでもエラーが発生すると予想されます –

+0

2番目の理由を参照してください。コードをメソッドに入れる必要があります。 – vadian

+0

申し訳ありませんが、私はまだSwiftで新しく、コードはうまくいきますが、tweetIDにnilが表示され、プロセスが壊れています。私は全体のコードをIntとしてtweetIDだけを使用するように戻しました。私は私の質問をエラーが当初存在する私のアプリの新しい部分に編集します。 –

関連する問題