最近在用MQTT協(xié)議做iOS端,感覺還是很簡(jiǎn)單的,但是網(wǎng)上可參考的資源真是少的可憐,都是互相抄。
在監(jiān)測(cè)session狀態(tài)那里,我看到有的人是使用NSTimer重復(fù)每一段時(shí)間就去查一下session的狀態(tài)。
其實(shí)這里有一個(gè)更好的方法,那就是KVO。
很多新手的iOS覺得KVO在實(shí)際開發(fā)中沒(méi)什么用處,其實(shí)這里就是一個(gè)很好例子。
MQTTSession有一個(gè)屬性是staus,
這個(gè)Status是用來(lái)枚舉session的狀態(tài)的。我們監(jiān)聽這個(gè)狀態(tài)的時(shí)候其實(shí)就可以用KVO的:
然后,實(shí)現(xiàn)如下方法即可進(jìn)行監(jiān)測(cè):
這就是一個(gè)很好的KVO的實(shí)際用例,監(jiān)聽認(rèn)識(shí)Value值的變化。