Думаю, вам будут интересны ответы на этот вопрос .
Ключ в том, что вы не можете наблюдать какие-либо свойства массива напрямую - массив является просто хранилищем- но вы можете наблюдать отношение ко многим, которое поддерживается этим массивом (здесь я предполагаю, что ваш массив является свойством где-то объекта).
Если вы не хотитечтобы использовать эти специальные средства доступа повсеместно, ваш код, которому принадлежит массив, может вызывать
-willChange:valuesAtIndexes:forKey:
и
-didChange:valuesAtIndexes:forKey:
, как описано в thisответ .
А если вы на Mac, а не на iOS, вы должны рассмотреть NSArrayController
.