你好,我对Swift协议有疑问
我已经声明了一个名为BaseViewModel的协议
我有一个名为AViewModel和BViewModel的类,它们符合协议BaseViewModel
class AViewModel : NSObject , BaseViewModel
class BViewModel : NSObject , BaseViewModel
现在,我需要声明一个完成块,该块返回符合协议BaseViewModel的那些对象
typealias ViewModelCompletionBlock = (_ value : BaseViewModel) -> Void
在Objective-C中,我曾经声明过类似的内容
id<BaseViewModel>
在Swift中,如何声明相同的内容?
答案 0 :(得分:1)
你的意思是这样吗?
typealias ViewModelCompletionBlock<T: BaseViewModel> = (_ value : T) -> Void