Ответ 1
Попробуйте (развращенный)
[NSPredicate predicateWithFormat: @"className == %@", [someObject className]]
или
[NSPredicate predicateWithFormat: @"class == %@", [someObject class]]
У меня есть массив объектов UIView
. Я хочу вызвать - (NSArray *)filteredArrayUsingPredicate:(NSPredicate *)predicate
в этом массиве, чтобы получить массив объектов MyCustomView
.
Как закодировать предикат с помощью "isKindOf:"?
Попробуйте (развращенный)
[NSPredicate predicateWithFormat: @"className == %@", [someObject className]]
или
[NSPredicate predicateWithFormat: @"class == %@", [someObject class]]
Я получил ошибки, используя метод Jef. Это сработало для меня.
NSPredicate *predicate = [NSPredicate predicateWithFormat:
@"self isKindOfClass: %@", class];
Источник: fooobar.com/questions/245941/...
Как использовать -className
как ваш ключ?
NSPredicate* foo = [NSPredicate predicateWithFormat: @"className == %@", @"MyCustomView"];