Ios Swift协议如何声明为通用一致性
你好,我对Swift协议有问题 我已经声明了一个名为BaseViewModel的协议Ios Swift协议如何声明为通用一致性,ios,swift,delegates,protocols,Ios,Swift,Delegates,Protocols,你好,我对Swift协议有问题 我已经声明了一个名为BaseViewModel的协议 typealias ViewModelCompletionBlock = (_ value : BaseViewModel) -> Void 我有一个名为AViewModel和BViewModel的类,它们符合协议BaseViewModel class AViewModel : NSObject , BaseViewModel class BViewModel : NSObject , BaseVi
typealias ViewModelCompletionBlock = (_ value : BaseViewModel) -> Void
我有一个名为AViewModel和BViewModel的类,它们符合协议BaseViewModel
class AViewModel : NSObject , BaseViewModel
class BViewModel : NSObject , BaseViewModel
现在,我需要声明一个完成块,返回符合协议BaseViewModel的对象
typealias ViewModelCompletionBlock = (_ value : BaseViewModel) -> Void
在objective-C中,我曾经声明过这样的东西
id<BaseViewModel>
id
在Swift中,如何声明相同内容 你的意思是这样的吗
typealias ViewModelCompletionBlock<T: BaseViewModel> = (_ value : T) -> Void
typealias ViewModelCompletionBlock=(\uvalue:T)->Void
typealias ViewModelCompletionBlock=(\uValue:BaseViewModel)->Void的问题是什么?这看起来已经对了。如果我的回答对你有帮助,你能做到最好吗?