Quantcast
Channel: CSDN博客移动开发推荐文章
Viewing all articles
Browse latest Browse all 5930

014--利用模型的didSet属性给UI赋值

$
0
0
**注:其实就是相当于在一个View中实现其中的一个属性的set方法,该属性通过set方法将值传进来,然后我们获取到该值,将该值得内容付给View.**

上Swift代码:

首先建立模型:

//
//  Person.swift
//  Swift设置模型数据
//

import UIKit

class Person: NSObject {
    var name:String?
}

然后建立一个label

//
//  DemoLabel.swift
//  Swift设置模型数据

import UIKit

class DemoLabel: UILabel {
    //模型->给视图设置模型,由驶入根据自己模型的数据,显示内容
    var person:Person?{
        //***就是替代OC中重写set方法
        //区别:再也不需要考虑 _成员变量 = 值
        //OC中如果是copy属性,应该  _成员变量 = 值.copy
        didSet{
            //此时name属性已经有值,可以直接设置给label.text
            text = person?.name
        }
    }
}

最后调用,给Label的person模型赋值

//
//  ViewController.swift
//  Swift设置模型数据

import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        let p = Person()
        p.name = "笑话"

        let label = DemoLabel(frame: CGRect(x: 20, y: 40, width: 100, height: 40))

        view.addSubview(label)

        //将模型设置给label
        label.person = p
    }

}
作者:liyunxiangrxm 发表于2017/6/21 23:06:42 原文链接
阅读:13 评论:0 查看评论

Viewing all articles
Browse latest Browse all 5930

Trending Articles