KVO同時獲取新值和舊值

2021-07-13 14:40:46 字數 508 閱讀 3744

註冊觀察者時引數options是用於宣告變化後可以獲得的值,

nskeyvalueobservingoptionnew是獲取變化後的值,

nskeyvalueobservingoptionold

獲取變化前的值,那如果想同時獲取變化前後的值呢?

很簡單,將它們異或操作就行,nskeyvalueobservingoptionnew|nskeyvalueobservingoptionold:

eg:

[self

.acount

addobserver

:self

forkeypath

:@"mon"

options

:nskeyvalueobservingoptionnew

|nskeyvalueobservingoptionold

context

:nil];

看看在observevalueforkeypath的change是不是同時有新值和舊值了!

watch監控,對比新值和舊值做出相應判斷

資料變化的監控經常使用,我們可以先來看乙個簡單的資料變化監控的例子。例如天氣預報的穿衣指數,它主要是根據溫度來進行提示的,當然還有其它的,咱們就不考慮了。html 穿衣指數 adddecrease js var suggestion t恤短袖 夾克長裙 棉衣羽絨服 var vm new vue me...

Map獲取key值和value值

在寫後台的過程中,有時候用到了containskey,用於判斷是否包含key值 獲取方法例項 mapmap new hashmap map.put 1,111 map.put 2,222 map.put 3,333 integer key integer.valueof dataxlist 對於給定...

JS陣列賦值時,原陣列和新陣列值同時改變

寫 的過程中發現,將原陣列賦值給新陣列時,改變新陣列中物件的屬性,原陣列物件屬性也會隨之改變,後查過資料發現是引用傳遞問題 大佬博主原文章,十分感謝 總結方法 extend語法 extend deep target,object1 objectn deep 可選。boolean型別 指示是否深度合併...