1
不知是可能创造一个协议,其中,其方法是指一种类型的贴合类如何指定一个符合类的协议在夫特
UHSyncObjectProtocol协议
protocol UHSyncObjectProtocol: class {
func sync(completionBlock: ((UHSyncObjectProtocol) -> Void)?)
// ideally, I want to refer to the conforming class instead of UHSyncObjectProtocol
}
用户配置文件类
class UHUserProfile: UHSyncObjectProtocol {
func sync(completionBlock: ((UHUserProfile) -> Void)?) {
// do something
completionBlock?(self)
}
}
我们呃账户类别
class UHUserAccount: UHSyncObjectProtocol {
func sync(completionBlock: ((UHUserAccount) -> Void)?) {
// do something
completionBlock?(self)
}
}
我不知道它是否可能。
你可以使用泛型,但你的代码的第一个块可能是最好的;在完成处理程序中,您可以轻松地从'UHSyncObjectProtocol'向下转换为特定的对象类型。 – Paulw11
是的,对我而言,仿制药可能会更好,所以我不必沮丧。 –