Ios 泛型类型与另一个泛型类型
我正在努力解决以下问题 我有一个名为Ios 泛型类型与另一个泛型类型,ios,swift,xcode,Ios,Swift,Xcode,我正在努力解决以下问题 我有一个名为FilteredCollection的类,它有两个泛型参数 CollectionSourceModel CollectionFilterObject CollectionFilterObject还需要一个与CollectionSourceModel相等的泛型参数。这类似于以下代码段: class FilteredCollection < CollectionSourceModel: CollectionItem,
FilteredCollection
的类,它有两个泛型参数
CollectionSourceModel
CollectionFilterObject
CollectionFilterObject
还需要一个与CollectionSourceModel
相等的泛型参数。这类似于以下代码段:
class FilteredCollection
<
CollectionSourceModel: CollectionItem,
CollectionFilterObject: CollectionFilter<CollectionSourceModel>
>:
Collection<CollectionSourceModel>,
CollectionFilterDelegate
{
let filterHandler: CollectionFilterObject
}
我的模式是邪恶的吗?有没有更好的方法来解决这个问题?是的,对于这个问题来说,这几乎肯定过于复杂了,而且似乎严重依赖子类化,而子类化往往很快就会产生问题。有很多很好的方法来构建这样的东西,但不清楚您的约束是什么。为什么有一个集合不是Swift的集合类型?为什么过滤器是对象而不仅仅是谓词(返回bool的闭包)?为什么存在“CollectionItem”类型?真的有必要吗?这个问题的一个小草图应该会导致一个更好的解决方案,它不需要所有这些子类。
class TheatreFilter: CollectionFilter<TheatreItem>
{
// some filter stuff
}
class TheatreCollection: FilteredCollection<TheatreItem, TheatreFilter>
{
// some collection operations
}
Command failed due to signal: Segmentation fault: 11