我想在TableView中做一些数据列表,并在单元格上点击DetailView.User并转到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
}
哪种方式最好?哪个使系统运行得更快?我只是一个初学者,所以我需要一个比我更有经验的程序员的建议
答案 0 :(得分:0)
检查if (languageId == Languages.English) {
ButtonTxt = buttonTextInEnglish;
}
的两种方法的最佳方法是按索引检查方法。为什么?因为它需要O(1)来获取你需要的值。在最坏的情况下,Details
检查需要O(n)。但我建议您创建一个包含String
的{{1}},并准确传递您需要的详细信息。