我想根據NSDictionary的計數設置UITabItem
的徽章值。我想這樣做沒有太多的代碼。 KVO似乎要走了,但我似乎無法找到任何關於簡單地觀察字典數量的事情,這讓我懷疑這是不可能的。是否有可能使用KVO觀察NSDictionary的計數?
所以,我的問題:是否有可能使用KVO觀察NSDictionary的計數?
我想根據NSDictionary的計數設置UITabItem
的徽章值。我想這樣做沒有太多的代碼。 KVO似乎要走了,但我似乎無法找到任何關於簡單地觀察字典數量的事情,這讓我懷疑這是不可能的。是否有可能使用KVO觀察NSDictionary的計數?
所以,我的問題:是否有可能使用KVO觀察NSDictionary的計數?
將字典包裝在另一個具有可觀察計數屬性的對象(代理)中。你可能都是花哨的(以更多的代碼爲代價)並使用調用轉發,但是你可能只需要包裝basic -setObject:forKey:和-removeObjectForKey :(和可能的-removeAllObjects)方法,並且只需設置count屬性無論字典的數值是多少。
KVO對此是矯枉過正。從代理中,在插入或刪除字典中的條目時,會使適當的視圖/標籤變髒。
使用count屬性創建代理。 – ageektrapped 2012-01-12 18:28:03
我的猜測是它不是,因爲我想'count'會被定義爲只讀屬性,而不是方法,如果它是可觀察的。愚蠢的問題,但你剛剛嘗試過嗎? – paulbailey 2012-01-05 17:06:38
是的,我試過了。我根本沒有打電話給我的觀察員方法來查字典。我意識到伯爵是一種方法,但KVO的收藏品有一些特殊的醬油。 – ageektrapped 2012-01-05 17:23:02
鑑於在其他情況下(如'NSOperation')可觀察的屬性被明確列出,我會說你運氣不好。 – paulbailey 2012-01-05 17:47:34