Ответ 1
Вы не можете обнаружить эту ситуацию, и вы не можете определить, какая реализация -populateArray
имеет приоритет. По этой причине некоторые разработчики предпочитают префикс имен своих категорий.
Цитата Документ Objective-C Язык программирования,
Категория не может надежно переопределить методы, объявленные в другой категории того же класса.
Эта проблема имеет особое значение, поскольку многие из классов Cocoa реализуются с использованием категорий. Определенный каркасом метод, который вы пытаетесь переопределить, сам может быть реализован в категории, и поэтому реализация имеет приоритет.