栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用字典和字典数组进行Swift JSON解析

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用字典和字典数组进行Swift JSON解析

您不能

return
执行异步任务。您必须改用回调。

添加这样的回调:

completion: (dictionary: NSDictionary) -> Void

解析器方法签名:

func jsonParserForDataUsage(urlFordata: String, completion: (dictionary: NSDictionary) -> Void)

并在您要“返回”的数据可用的地方调用补全:

func jsonParserForDataUsage(urlFordata: String, completion: (dictionary: NSDictionary) -> Void) {    print("json parser activated")    let urlPath = urlForData    guard let endpoint = NSURL(string: urlPath) else {        return    }    let request = NSMutableURLRequest(URL:endpoint)    NSURLSession.sharedSession().dataTaskWithRequest(request) { (data, response, error) -> Void in        do { guard let dat = data else {     throw JSONError.NoData } guard let dictionary = try NSJSONSerialization.JSonObjectWithData(dat, options:.AllowFragments) as? NSDictionary else {     throw JSONError.ConversionFailed } completion(dictionary: dictionary)        } catch let error as JSonError { print(error.rawValue)        } catch let error as NSError { print(error.debugDescription)        }    }.resume()}

现在,您可以将此方法与结尾的闭包一起使用,以获取“返回的”值:

jsonParserForDataUsage("http...") { (dictionary) in    print(dictionary)}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/375739.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号