搜索

首页  >  问答  >  正文

ios - swift 如何创建模型返回给cell?



我解析json 存放 和方式 总感觉怪怪的 不是最好的办法,我看到网上说可以用模型去返回cell
但是怎么应该怎么写这个模型???

举例用 table_name table_num 应该怎么创建模型 和返回到cell上面?? 希望得到解答。。。

PHP中文网PHP中文网2810 天前692

全部回复(3)我来回复

  • 怪我咯

    怪我咯2017-04-17 17:42:42

    JSON->字典->模型?

    1.你看一下json返回的数据,推荐你用AFN请求,回来的数据response就是一个对象 字典或者数组,因为json一般都是包装成数组(数组里也是字典其实)或者字典 你可以去json.cn 直接看返回数据的详细结构
    2.设置一个模型 模型中定义所需要的属性名称 同字典的key值相同 因为要用kvc直接字典转模型

    简单模型的定义和赋值:

    模型定义
    `import UIKit

    class UserInfo: NSObject {

    var screen_name:String?
    
    var profile_image_url:String?
    
    var verified: Int = -1
    
    var mbrank: Int = 0
    
    // kvc 遍历赋值
    init(dict:[String:AnyObject]) {
        
        super.init()
    
        setValuesForKeysWithDictionary(dict)
        
    }
    // 防止未定义属性未赋值报错
    override func setValue(value: AnyObject?, forUndefinedKey key: String) {
        
    }
    

    }`

    赋值的话 直接在cell需要的时候 拿实例化模型的属性给它赋值就好了

    补充:这样数据源就是一个数组 同时存储了你需要的多组数据

    回复
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-17 17:42:42

    反射呀~ Json -> Object
    然后你随便玩~

    回复
    0
  • 阿神

    阿神2017-04-17 17:42:42

    不要用模型返回cell,一个是model,一个是view,这两个要尽量分开,你这个做法已经没错。但是最好弄一个table_nameAndIdArray,这个array的每个元素是个name和id(可以用tuple,struct或class)。

    回复
    0
  • 取消回复