Найти по протоколу в Swift
Как я могу передать протокол в качестве параметра в Swift?
В Objective-C я мог бы сделать это:
id <CurrentUserContex> userContex = [ServiceLocator locate:@protocol(CurrentUserContex)];
Сервисный локатор:
+ (id)locate:(id)objectType
редактировать
После ответа Qbyte попытался использовать:
ServiceLocator.locate(CurrentUserContex.self)
Но я получаю «CurrentUserContex.Protocol» не подтверждает протокол «AnyObject»
Итак, я попробовал:
ServiceLocator.locate(CurrentUserContex.self as! AnyObject)
Но тогда я получаю:
Could not cast value of type 'ApplicationName.CurrentUserContex.Protocol' (0x7fec15e52348) to 'Swift.AnyObject' (0x7fec15d3d4f8).