Есть ли способ использовать ObjectType в категории в NSArray?
Я пытаюсь создать категорию на NSArray и смотрю на интерфейс NSArray. Я предполагаю, что для добавления метода, возвращающего ObjectType, есть:
// interface
- (nullable ObjectType)giveMeAnObject;
// implementation
- (nullable ObjectType)giveMeAnObject
{
ObjectType object = nil;
return object;
}
Однако это не работает, и я получаю сообщение об ошибке Ожидаемое ')' в возвращаемом типе.
Ответы
Ответ 1
Кажется, вы можете использовать легкие генерики в интерфейсах, но не в реализациях.
@interface NSArray<ObjectType> (MyAdditions)
- (nullable ObjectType)giveMeAnObject; // specify return type
@end
@implementation NSArray (MyAdditions)
- (id)giveMeAnObject // use id for the implementation
{
return nil;
}
@end
Возможно, вы захотите записать запрос улучшения, если вы хотите увидеть их в блоках @implementation
.