我正在尝试返回DepositItemViewModel
的专用类型TransactionItemViewModel
,但我收到编译错误:无法将DepositItemViewModel转换为返回类型TransactionItemViewModel 。
Cannot convert DepositItemViewModel to return type TransactionItemViewModel
以下是我的课程声明:
class Deposit: Transaction
class TransactionItemViewModel<T: Transaction>
class DepositItemViewModel: TransactionItemViewModel<Deposit>
答案 0 :(得分:0)
使用协议
protocol P{}
class A: P{}
class B<T: P>{}
class C:B<A>{}
func f(o: AnyObject)->B<P> {
return C()
}
给你
error: using 'P' as a concrete type conforming to protocol 'P' is not supported
使用班级
class P{}
class A: P{}
class B<T: P>{}
class C:B<A>{}
func f(o: AnyObject)->B<P> {
return C()
}
给你
error: cannot convert return expression of type 'C' to return type 'B<P>'
两种情况下的返回类型必须为B<A>
在您的情况下,您必须将返回类型更改为TransactionItemViewModel<Deposit>