Оберните словарь в другой объект (прокси), у которого есть свойство count, которое вы можете наблюдать.Вы могли бы быть все причудливыми (за счет большего количества кода) и использовать переадресацию вызовов, но вам, вероятно, нужно только обернуть базовые методы -setObject: forKey: и -removeObjectForKey: (и, возможно, -removeAllObjects), и просто установить свойство countпри любом значении счета дикта.
KVO для этого излишне.Из прокси-сервера испачкайте соответствующий вид / метку при вставке или удалении записи в dict.