Swift开发一些注意地方

犹豫中,终于写完第一个Swift的项目,一直都在用oc 写项目,之前没有机会使用swift 写项目。

我先说一下我这个项目的架构

1.项目整体是storyBoard 布局的
2.使用的是MVC 模式
3.解析数据是swift原生的解析
4.网络请求使用的是Alamofire自己封装的(后期像改成moya)
5.后台是PHP

注意PHP语言返回的数据类型

很多PHP 返回的是NSNumber 的类型 Swift 对数据类型很多都不友好
Swift提供的数据类型有:Int, Double, Float, Bool, String
Swift提供的集合类型包括:Array, Dictionary, Set
Swift提供的其他辅助类型: enum, Struct

所以要和后台确定一下返回的具体数据类型(这个地方会有很多坑)

原生解析的model(我用的结构体写的)

后台返回的数据

{
    "code": 200,
    "datas": {
        "versions": 1,
        "iosversions": 1,
        "content": "更新细节内容",
        "ioscontent": "更新细节内容",
        "downurl": "www.baidu.com"
    }
}

这是struct model的写法(也有很多同学用class)

import Foundation

struct VersionModel: Codable {
    
    var code : Int
    var datas: DataInfo
    struct DataInfo: Codable {
        var versions :Int
        var iosversions: Int
        var content: String
        var ioscontent: String
        var downurl: String
}
}

原生的数据解析 代码很简单我就直接贴代码了

           let decoder = JSONDecoder()
            let model = try? decoder.decode(VersionModel.self, from: json)
            self.versionModel = model

下面还会写一个闭包 也就是oc 的block 的使用 喜欢的关注一下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值