014--利用模型的didSet屬性給UI賦值__模型

來源:互聯網
上載者:User
**註:其實就是相當於在一個View中實現其中的一個屬性的set方法,該屬性通過set方法將值傳進來,然後我們擷取到該值,將該值得內容付給View.**
上Swift代碼: 首先建立模型:
////  Person.swift//  Swift設定模型資料//import UIKitclass Person: NSObject {    var name:String?}
然後建立一個label
////  DemoLabel.swift//  Swift設定模型資料import UIKitclass DemoLabel: UILabel {    //模型->給視圖設定模型,由駛入根據自己模型的資料,顯示內容    var person:Person?{        //***就是替代OC中重寫set方法        //區別:再也不需要考慮 _成員變數 = 值        //OC中如果是copy屬性,應該  _成員變數 = 值.copy        didSet{            //此時name屬性已經有值,可以直接設定給label.text            text = person?.name        }    }}
最後調用,給Label的person模型賦值
////  ViewController.swift//  Swift設定模型資料import UIKitclass 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    }}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.