###var cast = Dictionary<String, AnyObject> as? Stringが成功する場合、どんなデータが入るのか。
情報系初心者の学生です。
ど素人質問でごめんなさい、
質問はvar cast = Dictionary<String, AnyObject> as? Stringが成功する場合、どんなデータが入るのか知りたいということです。
###コード
以下のようなコードを書き、playgroundで実行しました。
Swift
1class Sample { 2 var _name : String 3 4 init(_ name: String) { 5 self._name = name 6 } 7 8 subscript(msg:String) -> String { 9 return "(_name)さん、(msg)" 10 } 11} 12 13class Sample2 { 14 15 var _name :String 16 17 init(_ name: String) { 18 _name = name 19 } 20 21 subscript(msg:String) -> String { 22 return "(_name)さん、(msg)" 23 } 24 25 subscript(x:Int, y:Int) -> Int { 26 return x * y / 2 27 } 28} 29 30var smp = Sample(name: "hoge") 31var smp2 = Sample2("foo") 32 33var dict2:Dictionary<String, AnyObject> = ["smp": smp, "smp2":smp2] 34var cast = dict2 as? String
http://hamasyou.com/blog/2014/08/28/swift-dictionary-anyobject/ というサイトをみてて、ふと疑問に思ってdictionary<String, AnyObject>
型からString
型にダウンキャストした際、cast中のデータはどうなっているんだろうと思い、上のようなコードを試しました。
今回、上のようなコードを実行して変数castの中がnilとなってしまいました。
なので、nilが入らない場合はどのようになっているのか知りたいです。
###この質問に至った経緯
jsonの勉強をしているのですが、このようなダウンキャストが多く見受けられたからです。
まだ、あまりjsonのことも詳しくわかっていないのですが、答えていただければ嬉しいです。どうかお願いします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。