Xcode 7'den itibaren Objective-C, sınıflar için jenerik tip parametrelerini tanıttı. Nesnel C protokolleri ile jenerik kullanmak için herhangi bir yolu var mı? Bunu yapmak için açık bir yol bulamadım çünkü @interface MyClass<ObjectType>
eşdeğeri protokoller için zaten alınmış (ör. @protocol MyProtocol<NSObject>
).Bir protokole jenerik tip parametresi eklemenin bir yolu var mı?
Örnek: Böyle bir kod dönüştürmek istiyoruz:
@protocol MYObjectContainer
- (id)objectAtIndex:(NSUInteger)index;
@end
böyle kodlamak için: (örneğin bkz, NSArray) düzenli sınıfları ile mümkündür
@protocol MYObjectContainer
- (ObjectType)objectAtIndex:(NSUInteger)index;
@end
.
Ne yapmaya çalıştığınızı açıklayabilir misiniz? Sorunuzu bir örnekle güncelleyin. – rmaddy
tamam, bir, bir –
ek ekledi Benim tahmin edemezsiniz, çünkü Objective-C'deki sınıflara Swift ile arabirim eklemek için jenerikler eklendi ve Swift'deki protokoller jeneriklere sahip değil (bunun yerine ilişkili türlere sahipler). – newacct