您好,我对 Swift 协议(protocol)有疑问
我已经声明了一个名为 BaseViewModel 的协议(protocol)
我有一个名为 AViewModel 和 BViewModel 的类,它们符合协议(protocol) BaseViewModel
class AViewModel : NSObject , BaseViewModel
class BViewModel : NSObject , BaseViewModel
现在,我需要声明一个完成 block 来返回那些符合协议(protocol) 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/