1
我在我的表格视图中有几行,每个行都是我的自定义单元类的一个实例,它包含单个UTextField。我为每个标签分配了一个标签,但我需要知道如何检索每个文本字段的文本值并将值分配给适当的字符串。从表格视图中的文本字段获取文本
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("paymentCell", forIndexPath: indexPath) as! PaymentInfoCell
cell.selectionStyle = .None
cell.textField.delegate = self
if indexPath.section == 0 {
cell.textField.keyboardType = .NumberPad
switch indexPath.row {
case 0:
cell.textField.placeholder = "Card Number"
cell.textField.tag = 0
case 1:
cell.textField.placeholder = "Security Code"
cell.textField.tag = 1
case 2:
cell.textField.placeholder = "Expiration Month"
cell.textField.tag = 2
case 3:
cell.textField.placeholder = "Expiration Year"
cell.textField.tag = 3
default:
break
}
} else {
switch indexPath.row {
case 0:
cell.textField.placeholder = "First Name"
cell.textField.keyboardType = .Default
cell.textField.tag = 4
if let firstName = sharedUser.userJSON!["firstName"] {
cell.textField.text = firstName as? String
}
case 1:
cell.textField.placeholder = "Last Name"
cell.textField.keyboardType = .Default
cell.textField.tag = 5
if let lastName = sharedUser.userJSON!["lastName"] {
cell.textField.text = lastName as? String
}
case 2:
cell.textField.placeholder = "Phone Number"
cell.textField.keyboardType = .PhonePad
cell.textField.tag = 6
case 3:
cell.textField.placeholder = "Address"
cell.textField.keyboardType = .EmailAddress
cell.textField.tag = 7
case 4:
cell.textField.placeholder = "City"
cell.textField.keyboardType = .Default
cell.textField.tag = 8
case 5:
cell.textField.placeholder = "State"
cell.textField.keyboardType = .Default
cell.textField.tag = 9
case 6:
cell.textField.placeholder = "Zip Code"
cell.textField.keyboardType = .NumberPad
cell.textField.tag = 10
default:
break
}
}
return cell
}
我可以做到这一点,但它似乎并不是最好的选择。
func textFieldShouldReturn(textField: UITextField) -> Bool {
textField.resignFirstResponder()
switch textField.tag {
case 0:
self.cardNumber = textField.text!
case 1:
self.securityCode = textField.text!
case 2:
self.expMonth = textField.text!
case 3:
self.expYear = textField.text!
case 4:
self.firstName = textField.text!
case 5:
self.lastName = textField.text!
case 6:
self.phoneNumber = textField.text!
case 7:
self.address = textField.text!
case 8:
self.city = textField.text!
case 9:
self.state = textField.text!
case 10:
self.zipCode = textField.text!
default:
break
}
return true
}
我不确定你在问什么。 – Alexander