В Какао параллельные массивы - это путь к гибели и гибели. Вы не можете эффективно использовать их с Bindings, поэтому вам придется вместо этого написать много связующего кода, как если бы Bindings не существовал. Более того, вы убиваете любую будущую поддержку AppleScript / Scripting Bridge, которую вы, возможно, намереваетесь получить еще до того, как начнете ее реализовывать.
Правильный способ - создать класс модели со свойствами name
и age
и иметь единственный массив экземпляров этого класса. Затем, чтобы найти элемент по имени или возрасту, используйте NSPredicate
для фильтрации массива и indexOfObjectIdenticalTo:
для поиска индекса каждого элемента из отфильтрованного массива в основном массиве.
Разница между indexOfObject:
и indexOfObjectIdenticalTo:
заключается в том, что первый будет отправлять isEqual:
сообщения, чтобы определить, является ли каждый объект тем, который он ищет, тогда как последний будет искать только конкретный объект, который вы передали. Таким образом, , вы можете использовать indexOfObject:
с объектом, которого нет в массиве, но он равен объекту, который находится в массиве.