美文网首页
swfit json解析与闭包回调

swfit json解析与闭包回调

作者: xiaoke123456 | 来源:发表于2018-01-25 16:47 被阅读0次

1.只包含一个模型类的字典解析

func JsonNormalModel() -> () {

  let jsonDic = ["userName":"beer", "age":"100","userEmail":"yaozuopan@icloud.com"] as [String : Any]

  let jsonData = try! JSONSerialization.data(withJSONObject: jsonDic, options: .prettyPrinted)

  let decode = JSONDecoder()

 if let user = try? decode.decode(Usre.self, from: jsonData){  print(user.userEmail)}

}

2.模型数组的字典解析

func JsonArrModel(complition:@escaping (_ list:[Usre])->()) -> () { 

 let mainDic = ["name":"软件部","id":"888","member":[["userName":"beer0", "age":"101","userEmail":"yaozuopan4@icloud.com"],["userName":"beer1", "age":"103","userEmail":"yaozuopan3@icloud.com"]]] as [String : Any]

let mainData = try! JSONSerialization.data(withJSONObject: mainDic, options: .prettyPrinted)

let decode1 = JSONDecoder()

if let group = try? decode1.decode(Department.self, from: mainData)

 {            var arrayM = [Usre]()

                for (indexs,item) in group.member.enumerated() {

                print("索引:\(indexs)  值:\(item)")

                arrayM.append(item)

            }

          complition(arrayM)

} }

3. viewDidLoad回调函数

var listArr = [Usre]()

override func viewDidLoad() {

        super.viewDidLoad()

        JsonArrModel { (List) in

            self.listArr += List

}

let user = self.listArr[0]

print("\(user.userName) \(user.userEmail) \(user.age)")

}

4.模型类

class Usre: Codable { 

   var userName:String

    var age:String

    var userEmail:String

    init(userName:String,age:String,userEmail:String) {

         self.userEmail = userEmail

        self.userName = userName

        self.age = age}

}

class Department: Codable {

    var name: String

    var id: String

    var member: [Usre

      init(name: String, id: String ,member:[Usre]) {

      self.name = name;

        self.id = id;

        self.member = member;

    }

}

相关文章

  • swfit json解析与闭包回调

    1.只包含一个模型类的字典解析 2.模型数组的字典解析 3. viewDidLoad回调函数 4.模型类

  • 回调与闭包

    1、回调函数 一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调...

  • 闭包与回调

    转载自:http://blog.csdn.net/u010142437/article/details/12453...

  • 【Swift】关于闭包的几种写法

    闭包 闭包是一个特殊的函数,经常用于回调 简单举个例子:在方法中定义闭包实现回调传值 尾随闭包:1.如果闭包是函数...

  • Swift基础语法-闭包,闭包函数回调,尾随闭包,闭包捕获值,循

    本节知识点 闭包的基本概念 闭包基本使用 闭包表达式作为回调函数 闭包的多种写法(尾随闭包) 闭包表达式优化 闭包...

  • 4 iOS类微信日志2018-01-13

    Swift 闭包的使用 步骤: 1. 声明闭包 2. 声明闭包的别名属性 3. 设置回调函数 4. 调用闭包 声明...

  • UI(二十)block

    *block代码块 闭包(一个区域)与C语言函数类似 *block具有反向传值、回调的功能 回调:执行完毕之后返回...

  • swift - 闭包回调

    在需要返回数据的页面secondViewController1.定义一个闭包 2.声明一个闭包 3.返回数据 完整...

  • swift 闭包回调

    1.跳转到需要回调的页面 2.跳转的页面 3 嵌套方法 使用

  • swift 闭包回调

    最近研究iOS8.0新出的控件UIAlertController也就是代替UIAlertView和UIAction...

网友评论

      本文标题:swfit json解析与闭包回调

      本文链接:https://www.haomeiwen.com/subject/evnvaxtx.html