如何更好地管理数据细节(Swift)



我想在TableView中做一个数据列表,和一个DetailView。用户点击单元格,然后转到DetailView。在DetailView中,我需要检查,用户在TableView中选择了什么样的数据。我传递数据名称(单元格的标题)和索引(通过prepareForSegue方法)。我可以通过两种方式检查数据的名称:通过索引或通过名称(通过开关)。哪种方式更好?我的IndexCheck代码是这样的:

let Details = ["first","second","third"]
var PassedIndex:Int

override func ViewDidLoad () {
super.ViewDidLoad()
self.DetailLabel.text = Details[PassedIndex]
}

按名字检查是这样的:

var PassedName:String?
var DetailText:String
switch PassedName {
case "NumberOne":
                  DetailText = "#1"
case "NumberTwo":
                  DetailText = "#2"
case "NumberThree":
                  DetailText = "#3"
default:
                  DetailText  = "Unknown number"
}
 override func ViewDidLoad () {
super.ViewDidLoad()
self.DetailLabel.text = DetailText
}

哪条路最好?这使系统工作得更快?我只是一个初学者,所以我需要一个比我更有经验的程序员的建议

这两种方法中检查Details的最佳方法是按索引检查法。为什么?因为需要0(1)才能得到你需要的值。在最坏的情况下,String的检查需要O(n)。但我建议您创建一个包含DetailsEnum,并传递您需要的确切细节。

最新更新