Мне заполнили NSMutableArray объектами типа "GameObject". GameObject имеет много свойств, один из который быть "gameObjectType". "gameObjectType" имеет тип GameObjectTypeEnum. Я хочу смочь отфильтровать этот NSMutableArray поэтому, только GameObjects определенного типа возвращаются. У меня есть следующее на месте, но это предоставляет мне "ПЛОХОЙ ДОСТУП" ошибка:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"gameObjectType = %@", gameObjectType];
return [gameObjects filteredArrayUsingPredicate:predicate];
Действительно ли возможно передать "пользовательский" тип (т.е., это перечисление, которое я определил) в вызов predicateWithFormat?
Спецификатор формата строки % @
указывает на объект, в то время как вы передаете целое значение. Вероятно, вы захотите привести тип gameObjectType к int
и использовать спецификатор % d
. Взгляните на описатели формата строки для получения дополнительной информации.