**注:其实就是相当于在一个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 查看评论