Самый простой способ - использовать и разыграть String
на NSString
.Я имею в виду, используйте let queue: Queue<NSString> = Queue()
вместо.Для использования прокси-класса, подобного этому:
class Container {
var value: String = ""
}
T
должен быть только NSObject
.Для привязки Swift-ObjC только мосты типа class
могут использоваться.Просто скройте ваше значение в другом классе класса (Container
).
Другой случай - использование протокола ObjC вместо T
@protocol SomeProtocol <NSObject>
- (void)someMessage;
@end
@interface Queue: NSObject
@property (readonly, copy, nonatomic) SomeProtocol _Nullable front;
@property (readonly, copy, nonatomic) SomeProtocol _Nullable back;
- (_Nullable SomeProtocol) dequeue;
- (Queue * _Nonnull) enqueue:(SomeProtocol)item;
- (BOOL) isEmpty;
@end
в коде Swift вы можете использовать let someProtocolObject: SomeProtocol?