多维数组使Xcode6崩溃

时间:2014-06-17 07:18:27

标签: swift xcode6

我有一个检索JSON文件的应用程序。在这里,你是我的代码:

数组定义

var photos: NSArray = []

我如何填充数组:

ezJson().createRequest("http://myapiurl/load", type: "GET", params: nil, completion: {(returnedObject : AnyObject?, error : NSError?)in
            if returnedObject{

                self.photos = returnedObject as NSArray
                self.tableView.reloadData()

            }
        })

的println(self.photos)

{
        created =         {
            date = "2014-06-13 18:35:46";
            timezone = "Europe/Madrid";
            "timezone_type" = 3;
        };
        description = description1;
        id = 3;
        name = 539b286277617;
    },
        {
        created =         {
            date = "2014-06-13 18:38:38";
            timezone = "Europe/Madrid";
            "timezone_type" = 3;
        };
        description = description2;
        id = 4;
        name = 539b290ed8577;
    }

的println(self.photos [0])

{
    created =     {
        date = "2014-06-13 18:35:46";
        timezone = "Europe/Madrid";
        "timezone_type" = 3;
    };
    description = description1;
    id = 3;
    name = 539b286277617;
}

问题是,我不知道如何获得特定物品。我试过了:

println(self.photos[0]) // it works

println(self.photos[0]["name"] // Xcode crash "Command /Applications/Xcode6-Beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift failed with exit code 254"

println(self.photos[0].name) // returns nil

如何访问name参数?

1 个答案:

答案 0 :(得分:0)

您似乎正在向String投射NSArray。这不会给你你想要的效果。

首先,如果您想按名称访问元素,则需要NSDictionary 然后它可能仍然无法工作,因为类型之间没有隐式转换,因此您必须自己解析它或使用一些JSON库。

上一篇:您的JSON不正确。