В идеале отказаться от оперирования NSMutableView, а класс, который его содержит - сделать контейнером, добавив методы
-addObject
-removeObject
-(NSArray*) objects
И либо на этапе добавления контроллировать уникальность, либо на этапе извлечения (-objects). Через ту же Фильтрацию массивов. Ну либо перед передачей массива параметром провести ту же фильтрацию. К сожалению, а может и к счастью - массивы в foundation могут содержать любые обьекты
Кстати, то что Вы хотите сделать - отлично делается на swift . Код objective c и swift миксуется без проблем. Да и вообще, с c# на свифт проще будет переехать