我正在尝试从图形请求中获取一系列Facebook ID。到目前为止,我使用了以下代码:
if let userData = result as? [String:Any] {
let id = userData["data"]
print(id)
}
然而,结果对我来说仍然太混乱了。例如,print语句给了我:
Optional(<__NSArrayI 0x1c42285c0>(
{
id = aaaaaaa;
},
{
id = bbbbbbb;
}
)
)
如何进一步清理结果以获得简单的数组?
所需的结果如下:[aaaaaaa, bbbbbbb,...]
。
另外,打印userData显示:
["summary": {
"total_count" = 867;
}, "data": <__NSArrayI 0x1c0429260>(
{
id = aaaaaaa;
},
{
id = bbbbbbb;
}
)
, "paging": {
cursors = {
after = //a long nasty thing
before = //another long nasty thing
};
}]
答案 0 :(得分:0)
您应该使用flatMap
来简化结果。
if let idArray = userData[data] as? [[String: Any]] {
let ids = idArray.flatMap { $0["id"] as? String }
print(ids) //[aaaaaaa, bbbbbbb,...]
}