我跟着this指南在表格內建立一個文本字段的形式,我設法做到了,但在教程中他只是使用單一類型的字段。我想要一些字段有下拉列表,我還會添加其他字段。UITableViewCell中的iOS輸入
我不確定最好的方法來做到這一點,我猜字段需要在一個數組中,使它更容易管理。我正在考慮下面的代碼,結構現在只是通用的。
struct DropdownInput {
let name: String
let placeholder: String
let defaultValue: String
let values: [String]
}
struct TextInput {
let name: String
let placeholder: String
let defaultValue: String
}
var formFields: [Any] = [
TextInput(name: "test1", placeholder: "Some value", defaultValue: ""),
DropdownInput(name: "test2", placeholder: "Some value", defaultValue: "", values: ["Test1","TEST2","Test3"]),
]
編輯:我的代碼正在工作,但我認爲它不正確地解壓縮formField對象。這是說Any類型的值沒有成員名稱,我如何訪問這些值?
if self.formFields[indexPath.row] is TextInput {
if let fieldValues: Any = self.formFields[indexPath.row] as? TextInput {
if let cell = tableView.dequeueReusableCellWithIdentifier("cellTextField") as? TextInputTableViewCell {
print(fieldValues.name)
return cell
}
}
}
你得到了哪個錯誤?你也可以通過使用'if let textInput = formFields [index] as'來減少代碼。 TextInput' – Nimble
請確保您已爲兩個單元添加了TextInputTableViewCell類。 – Shoaib
,我建議使用'dequeueReusableCellWithIdentifier:forIndexPath',這樣你就可以確定你註冊了單元的類/筆尖 – Nimble