Using KVO in Swift by third party controls (Observable-Swift)


Using KVO in swift is a very troublesome thing. But Observable-Swift control can make us use elegant KVO in swift.
Now, let's look at how to use Observable-Swift

A simple example:

var str = Observable("Hello ")
        
str.afterChange += {
    print("before value: \($0), after value: \($1)")
}

str <- "ABC"
str.value += "World"
str ^= "EFG"

The output results are as follows:

before value: Hello , after value: ABC

before value: ABC, after value: ABCWorld

before value: ABCWorld, after value: EFG

We can see the "<-" and "^=" operation is the same. Replace the value of the variable.
We can use the Value property to access the value of the Observable type. So, str.value += "World" means add value to variable.

Next, let's us look at a example of struct type:

struct Person {
    let first: String
    var last: Observable<String>

    init(first: String, last: String) {
        self.first = first
        self.last = Observable(last)
    }
}

var ramsay = Person(first: "Ramsay", last: "Snow")
ramsay.last.afterChange += { println("Ramsay \($0) is now Ramsay \($1)") }        
ramsay.last <- "Bolton"

Ramsay Snow is now Ramsay Bolton

Remember, the afterChange method must be written in front of the ramsay.last <- "Bolton".

Please refer to the official document for more usage.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • PLEASE READ THE FOLLOWING APPLE DEVELOPER PROGRAM LICENSE...
    念念不忘的閱讀 13,660評(píng)論 5 6
  • 人們總說時(shí)間會(huì)改變一切,但實(shí)際上你必須自己去改變一切 這輩子最對(duì)不起的就是自己的心了,讓它疼了一次又一次。 千萬個(gè)...
    青蛙王閱讀 273評(píng)論 0 0
  • NSThread 實(shí)現(xiàn)多線程的技術(shù)方案之一. 面向?qū)ο蟮拈_發(fā)思想. 每個(gè)對(duì)象表示一條線程. 創(chuàng)建線程三種方式 準(zhǔn)備...
    月下獨(dú)酌灬閱讀 6,344評(píng)論 1 10
  • 早上打電話 你:喂 ?醒了嗎? 我:嗯 你:家里今天冷吧?多穿點(diǎn)衣服! 我:嗯,馬上起。 你:那快起來吧,不要遲到...
    閑暇的小時(shí)光閱讀 232評(píng)論 0 1
  • 卻還是控制不住的想碼字來寬慰內(nèi)心的沉重。 我還是那只螻蟻吧! 渴望著驚嘆著蚍蜉撼樹的震撼與光芒卻忘了渺小希望背后的...
    一只想變瘦的貓閱讀 383評(píng)論 0 0

友情鏈接更多精彩內(nèi)容