如何在swift 3中从字典中获取数组
Posted
技术标签:
【中文标题】如何在swift 3中从字典中获取数组【英文标题】:how to get array from dictionary in swift 3 【发布时间】:2016-12-01 11:51:34 【问题描述】:我不明白如何从字典中获取数组,我已经尝试过这段代码,但我只想获取数组的内容和类型
这是我的数组
wsResponse =
aarti =(
content = "";
identifier = "slok_one";
title = 1;
type = "\U092d\U0915\U094d\U0924\U093e\U092e\U0930";
,
content = "";
identifier = "slok_two";
title = 2;
type = "\U092d\U0915\U094d\U0924\U093e\U092e\U0930";
,
content = "";
identifier = "slok_three";
title = 3;
type = "\U092d\U0915\U094d\U0924\U093e\U092e\U0930";
);
;
这是我的代码
Alamofire.request(url, method: .get, parameters: nil, encoding: JSONEncoding.default)
.responseJSON response in
if let status = response.response?.statusCode
switch(status)
case 201:
print("example success")
default:
print("error with response status: \(status)")
//to get JSON return value
if let array = response.result.value
let JSON = array as! NSDictionary
print("\(JSON)")
let response = JSON["wsResponse"] as! NSDictionary
let data = response["aarti"]
我想要这个数组,比如内容、标题、类型
提前致谢
【问题讨论】:
对不起它的字典,但我想要像内容、标题、类型这样的数组,我可以正确地在字典中得到结果 @EricAya 这是我的数组不是结果它是我真正的数组,我想要这个数组内容array as! NSDictionary
非常非常混乱!
@vadian 对不起,我的名字是我的错误
【参考方案1】:
根据 JSON,这将打印 aarti
数组中的所有值:
if let JSON = response.result.value as? [String:Any]
if let response = JSON["wsResponse"] as? [String:Any],
let aarti = response["aarti"] as? [[String:Any]]
for item in aarti
let content = item["content"] as! String
let identifier = item["identifier"] as! String
let title = item["title"] as! Int
let type = item["type"] as! String
print(content, identifier, title, type)
在 Swift 中基本上不要使用NSDictionary / NSArray
。
如果要将所有 content
值放入数组中,请使用 flatMap
。该行可以替换整个重复循环。
let contentArray = aarti.flatMap $0["content"] as? String
PS:如果您要从值创建多个数组,请不要这样做:使用自定义结构或类
【讨论】:
谢谢@vadian 还有一个问题如何制作这样的数组,如 contentArray(数组中的所有内容值)【参考方案2】:如果有人想要获取数组字典并在 tableview 中使用它 声明:
var list:[Any] = []
和初始化:
self.list = (self.ListDic?["data"] as! NSArray!) as! [Any]
并使用:
let dictObj = self.list[indexPath.row] as! NSDictionary
print("object value: ",dictObj["text"] as! String)
【讨论】:
最好提出一个新问题,但首先要努力寻找可能已经有你答案的类似问题。以上是关于如何在swift 3中从字典中获取数组的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Swift 中从文件夹中获取 UIImage 数组?
在 Swift 3 和 Xcode 8 中从嵌套字典中获取值的问题