你好,我对Swift协议有问题
我已经声明了一个名为BaseViewModel的协议
我有一个名为AViewModel和BViewModel的类,它们符合协议BaseViewModel
class AViewModel : NSObject , BaseViewModel
class BViewModel : NSObject , BaseViewModel
现在,我需要声明一个完成块,它返回那些符合协议BaseViewModel的对象
typealias ViewModelCompletionBlock = (_ value : BaseViewModel) -> Void
在objective-C中,我曾经声明
id<BaseViewModel>
在Swift中,如何声明相同的内容??
最佳答案
你是说这样的事吗?
typealias ViewModelCompletionBlock<T: BaseViewModel> = (_ value : T) -> Void
关于ios - Swift协议(protocol)如何声明为通用一致性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54824968/