【发布时间】:2017-12-16 12:25:39
【问题描述】:
我有 2 个领域列表
我正在尝试制作治疗功能 所以我可以在它们之间进行选择以在 UITableview 上显示其中一个
我的模型是这样的
public class RealmModel : Object {
public var arrayList1 = List<realmList1>()
public var arrayList2 = List<realmList2>()
func ChooseList<T> (cehck : Bool) -> List<T> {
if cehck == true {
return arrayList1 as! List<T>
} else if cehck == false {
return arrayList2 as! List<T>
}
return arrayList1 as! List<T>
}
}
我正在尝试使用通用类型 但没有运气
当我尝试使用功能 ChooseList 时出现错误
Generic parameter 'T' could not be inferred
我不知道该怎么做,如果有其他方法可以存档我要存档的内容
【问题讨论】:
-
有点不清楚你到底想做什么,但你可能想重新考虑设计。实际上,“主”RealmModel 有两个可公开访问的 Realm 对象列表,同时还有一个函数也返回两个数组之一;本质上是重复的功能。一旦你从 Realm 中检索了你的 RealmModel 对象,就可以直接访问这些数组;让 someArray = aRealmModel.arrayList1。因此扩展它,arrayList1 或 arrayList2 可以用作 tableView 数据源。你能解释一下为什么要使用
/ Generic Type 吗? -
这个想法是我不想复制我的代码! ,现在我确实复制了我的代码,就像你提到的那样!两个列表都将显示在同一个 Tableview 上,因此我需要根据用户将使用的操作在它们之间切换,这就是为什么我需要先检查才能显示正确的内容。我想现在很清楚为什么我需要这样做
-
顺便说一句,我确实使用 Generic Type 只是因为我认为它是正确的使用方法,也就是说,我只是在尝试。
标签: swift realm realm-mobile-platform