美文网首页Swfit学习
Swift中Model的定义

Swift中Model的定义

作者: 古月思吉 | 来源:发表于2018-08-13 11:24 被阅读0次

1.基于“ ObjectMapper” 的model:
(0)第三方的导入(Podfile文件):

#根据SwiftLanguage的版本定义需要pod的版本
pod 'ObjectMapper', '~> 2.2.8'
pod 'SwiftyJSON', '~> 3.0’

(1)定义:

import UIKit
import ObjectMapper

class PayProductDetailModel: Mappable {
        
    var name: String?//产品名称
    var price: String?//产品价格,以元为单位
    var pay_type: [String]?
    var tipsModel: StudentInfoTipsModel?
    
    //用来展示的价格
    var priceShow: String? {
        guard price != nil else {
            return "¥600"
        }
        return "¥" + price!
    }
    
    required init?(map: Map) {
        
    }
    
    func mapping(map: Map) {
        name<-map["name"]
        price<-map["price"]
        pay_type<-map["pay_type"]
        tipsModel<-map["tips"]
    }
    
}

(2)dictionary转化成model:

import SwiftyJSON

self?.productDetailModel = PayProductDetailModel(JSON: data["data"].dictionaryObject!)
  • 基于“ ObjectMapper” 的model定义中有几个参数就需要map几个参数,如果参数一多,就会显得繁琐。如果你想要简化代码,建议使用基于“HandyJSON”的model。

2.基于“ HandyJSON” 的model:
(0)第三方的导入(Podfile文件):

#根据SwiftLanguage的版本定义需要pod的版本
pod 'HandyJSON', '~> 4.1.1'
pod 'SwiftyJSON', '~> 3.0’

(1)定义:

  • 定义基类(为了减少代码,方便子类继承)
import UIKit
import HandyJSON

class BaseModel: HandyJSON {

    required init() {
        
    }
    
}
  • 定义具体的子类
import UIKit

class WordsTrainingItemModel: BaseModel {
    
    var title: String?
    var is_answer: Bool?//是否是答案,true:是、false:不是
    
}

(2)dictionary转化成model:

import SwiftyJSON
import HandyJSON

let model = JSONDeserializer<WordsTrainingItemModel>.deserializeFrom(dict: dict.dictionaryObject! as NSDictionary)

相关文章

  • Swift中Model的定义

    1.基于“ ObjectMapper” 的model:(0)第三方的导入(Podfile文件): (1)定义: (...

  • Swift中自定义model的归档

    首先对于归档的定义就不再赘述 最近在做一个项目,里面有一个功能是把购物车里的产品缓存到本地,由于数据量较少,选择归...

  • swift中的!=

    我们知道在swift如果定义的struct model需要实现Equatable协议中的==操作符,一个最简单的例...

  • swift&&OC

    宏定义 OC中的宏定义 swift中的宏定义 OC中宏定义的方式,在swift中是不可用的,在swift中,宏定义...

  • Swift报错this class is not key val

    记录一个日常开发遇到的问题:定义了一个数据model,继承自NSObject,在Swift中使用model.val...

  • models

    model映射的是数据库中的表 所有定义的model是派生于Model的 定义完model后 需要再INSTALL...

  • 按位或操作

    1. OC 和 Swift 中的区别 OC中定义Options Swift 中定义Options ** 在Swif...

  • Swift 遇到的坑

    在swift中字典转模型,创建的model 继承自 NSObject,如果是swift 3 ,则在模型中创建属性不...

  • 对于 Vue 的MVVM 的理解

    MVVM 是 Model-View-ViewModel 的缩写。Model 代表数据模型,可以在Model中定义 ...

  • *** ValueError: Expected more th

    在输入图片已知,在预定义的model中做inference得到输出时,在定义model=net_class()之后...

网友评论

    本文标题:Swift中Model的定义

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