在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).如果CurrentUserContex是协议本身的名称,我建议使用它:
ServiceLocator.locate(CurrentUserContex.self)
如果CurrentUserContex是一个类型是协议使用的变量:
ServiceLocator.locate(CurrentUserContex)
我希望这能解决你的问题
总结以上是内存溢出为你收集整理的在Swift中按协议查找全部内容,希望文章能够帮你解决在Swift中按协议查找所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)