Я не уверен, если это странное установка, но у меня есть два пользовательских Tableview клетки -Swift доступа в одном tableviewcell из другого tableviewcell
- PhoneCell
- EmailCell
В PhoneCell , У меня есть два текстовых поля с некоторыми значениями в этих текстовых полях. В EmailCell у меня есть один textField.
Мне нужно получить доступ к значениям этих двух текстовых полей, доступных в PhoneCell, в моем EmailCell сейчас. И этот PhoneCell можно добавить четыре раза, то есть я могу добавить четыре телефонных номера
Возможно ли, как это реализовать?
В конечном счете, я пытаюсь сделать ниже -
- значения Get TextField в PhoneCell (максимум 4 цифры) для EmailCell
- К действию кнопки в EmailCell (
saveContactDataClicked
), мне нужно сделать вызов службы с данными текстового поля phoneCell и emailCell textField данные вместе как запрос POST.
PhoneCell
class PhoneCell: ProfileCell {
@IBOutlet weak var countryCode: UITextField!
@IBOutlet weak var addPhoneButton: UIButton!
@IBOutlet weak var teleNumber: UITextField!
override func configure(withUser user: UserData, language: String, indexPath: NSIndexPath) {
super.configure(withUser: user, language: language, indexPath: indexPath)
if user.phones?.count == 0 {
self.countryCode.text = ""
self.teleNumber.text = ""
}
else {
if let userPhoneInfo = user.phones {
self.countryCode.text = userPhoneInfo[indexPath.row].country
self.teleNumber.text = userPhoneInfo[indexPath.row].number
}
}
}
}
Я пытаюсь как это от EmailCell, но не может получить значения TextField в phoneCell
class EmailCell: ProfileCell {
@IBOutlet weak var saveButton: UIButton!
@IBOutlet weak var emailLabel: UILabel!
@IBOutlet weak var emailText: UITextField!
@IBOutlet weak var cautionLabel: UILabel!
@IBOutlet weak var cautionTextView: UITextView!
@IBAction func saveContactDataClicked(sender: AnyObject) {
let phoneCell = PhoneCell()
let phoneCode = phoneCell.countryCode.text
let phoneNumber = phoneCell.teleNumber.text
let data = ContactInfoData(phoneCode: phoneCode!,
phoneNumber: phoneNumber!,
emailAddress: emailText.text!)
delegate?.saveEdits(forContactInfoCell: self, withData: data)
}
override func configure(withUser user: UserData, language: String, indexPath: NSIndexPath) {
super.configure(withUser: user, language: language, indexPath: indexPath)
emailText.text = user.email
}
Вы должны объявить emailCell в phoneViewController, а затем вы можете получить доступ к его стоимости в phoneViewContrller. Вы не должны выполнять эти действия в классе customCell. Это не для того, чтобы контролировать вещи. –
@ TarvoMäesepp: Хорошо, вы имеете в виду, я должен реализовать saveButtonAction из моего ViewController, а не из ячейки? –
Какой элемент управления представлением этих элементов принадлежит?Вы должны работать с данными, а не с видом – Tj3n