Как и в Xcode 7, Objective-C введены параметры типичного типа для классов. Есть ли способ использовать дженерики с протоколами Objective C? Я не нашел очевидного способа сделать это, потому что эквивалент @interface MyClass<ObjectType>
уже используется для протоколов (например, @protocol MyProtocol<NSObject>
).
Пример: я хотел бы преобразовать код следующим образом:
@protocol MYObjectContainer
- (id)objectAtIndex:(NSUInteger)index;
@end
чтобы сделать следующий код:
@protocol MYObjectContainer
- (ObjectType)objectAtIndex:(NSUInteger)index;
@end
Это возможно с помощью обычных классов (см., например, NSArray).