В настоящее время я пытаюсь преобразовать код Objective-C в Swift, и столкнулся с некоторой проблемой с делегатом типа id.
Ниже приведен следующий код:
@property (weak, nonatomic) id <TestDelegate> delegate;
Во время инициализациивремя, когда контроллер отправляется и устанавливается как делегат, как это:
- (instancetype)initWithController:(id)controller {
self = [super init];
if (self) {
self.delegate = controller;
}
return self;
}
Как вы можете заметить, поскольку делегат здесь является типом идентификатора, который может хранить любые ссылки, он сохраняетссылка на контроллер для делегата и передаваемый контроллер соответствует протоколу «TestDelegate».Тем не менее, мне любопытно, как вы можете добиться этого в кратчайшие сроки?
Спасибо