2017-03-03 6 views
0

WKInterfaceControllerからオブジェクト属性にアクセスしようとしていますが、Swiftの知識が不足しています。スウィフトアクセスオブジェクトの属性 - 方法

私はAPI呼び出しを行い、コントローラに応答をpushController()経由で渡します。以下は、私のコードの一部抜粋です:

override func awake(withContext context: Any?) { 
     super.awake(withContext: context) 
     // I know context is an object, how to access its elements 
} 

contextのデータは{"user":"me","pw":"wouldntyouliketoknow","host":"google.com"}に似ています。誰かが私にちょうどcontext.hostにアクセスする方法を教えてもらえますか? Overtimeオブジェクトの属性にアクセスしようとしましたが、コンパイラが何かのようなエラーを受けました。host is an unknown property

また、NSObjectまたはAnyObject型に実際にコンテキストをキャストできません。

if let movie = context as? Movie { 
     print("Movie: \(movie.name), dir. \(movie.director)") 
} 

か:ようなあなたのオブジェクト型にAny型のオブジェクトをキャストしよう -

答えて

0

迅速コンパイラは、そのコンテキストを使用して、直接オブジェクトのプロパティにアクセスすることはできません。この理由のどれに起因型のオブジェクトであると考えてあなたはUNSAFEと私が試してみることができます:

context.value(forKey: "name") 
+0

あなたの場合、私は 'Movie'クラスを定義する必要があります。私はJSで、 'if(context.host)... dowork'のようなことをやっています。 – LostJon

+0

申し訳ありませんが、私はcontext.value(forKey:" name ")を意味しています - これはすべきですwork –

+0

私は今夜試してみましたが、コンパイルエラーでスパムを受けていました。少なくともこれがオブジェクトの属性にアクセスする方法であることを知ることは、戦いの半分です。これが私の解決であれば、正しい答えとして – LostJon

関連する問題