На самом деле эти только две стратегии, которые Вы хотели бы выбрать, наш , если Вы хотите отказаться от изменений, внесенных ответвлением, но сохранить ответвление в истории, и поддерево при слиянии независимого проекта в подкаталог суперпроекта (как 'мерзавец-gui' в репозитории 'мерзавца').
разветвитель слияние используется автоматически при слиянии больше чем двух ответвлений. твердость здесь главным образом по историческим причинам, и по тому, когда Вы поражены рекурсивный угловые случаи стратегии слияния.
- [NSArray indexOfObject:]
кажется логичным выбором.
В Какао параллельные массивы - это путь к гибели и разорению. Вы не можете эффективно использовать их с привязками, поэтому вместо этого вам придется написать много связующего кода, как будто привязок не существует. Более того, вы отказываетесь от любой будущей поддержки AppleScript / Scripting Bridge, которую вы, возможно, собираетесь иметь, еще до того, как начнете ее реализовывать.
Правильный способ - создать класс модели с именем
и ] age
и имеют единственный массив экземпляров этого класса. Затем, чтобы найти элемент по имени или возрасту, используйте NSPredicate
для фильтрации массива и indexOfObjectIdenticalTo:
, чтобы найти индекс каждого элемента из отфильтрованного массива в основном массиве.
Разница между indexOfObject:
и indexOfObjectIdenticalTo:
просто хочу использовать NSDictionary, если вы выполняете поиск на основе строк.