var arrayData:NSMutableArray = []
if let arrayData = response.result.value{
print("JSON: \(arrayData)")
}
我的回答如下:
JSON: {
Data = (
{
"Title" = "xyz";
"Value" = 10;
},
{
"Title" = "abc";
"Value" = 20;
}
);
Success = True;}
这段代码将整个响应存储在数组中,而不是我只想在
arrayData
实例中存储数据对象的数组 最佳答案
与arrayData
一起使用的if let
实例不是arrayData
类型的类实例属性NSMutableArray
,它保留在该块中,也不是数组,如果您只需要编写类似的数据数组,则它是字典。
if let dic = response.result.value as? [String: Any], let array = dic["data"] as? NSArray {
self.arrayData = NSMutableArray(array: array)
}
在Swift中,如果您使用Swift的native
Array
和Dictionary
而不是NSArray
和NSDictionary
,那么它就是batter,因此如果您想使用native Array,那么将您的arrayData
声明为[[String:Any]]
表示Dictionary
的数组而不是NSMutableArray
并像这样使用它。var arrayData = [[String:Any]]()
if let dic = response.result.value as? [String: Any], let array = dic["data"] as? [[String:Any]] {
self.arrayData = array
}