я редактировал мой вопрос, потому что набор TextField может быть, не может быть простым, нужно ссылки, так что это мой код, но до сих пор вопрос:установленное значение текстовое поле из другого ViewController
этот код для TableViewController:
import UIKit
protocol PaymentSelectionDelegate{
func userDidSelectPayment(title: NSString?)
}
class PopPaymentTableViewController: UITableViewController {
var delegate : PaymentSelectionDelegate!
override func viewDidLoad() {
super.viewDidLoad()
}
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath?) {
self.dismissViewControllerAnimated(true){
if self.delegate != nil{
if let ip = indexPath{
var payItem : PayMethod
payItem = self.myList[ip.row] as! PayMethod
var title = payItem.paymentName
self.delegate.userDidSelectPayment(title)
}
}
}
}
}
и для кода TransactionViewController:
import UIKit
class TransactionViewController: UIViewController, UIImagePickerControllerDelegate, UINavigationControllerDelegate, PaymentSelectionDelegate, UITextFieldDelegate, UIPopoverPresentationControllerDelegate{
@IBOutlet var paymentTextField: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
}
func resign(){
paymentTextField.resignFirstResponder()
}
func textFieldShouldBeginEditing(textField: UITextField) -> Bool {
if (textField == paymentTextField){
resign()
performSegueWithIdentifier("seguePayment", sender: self)
}
}
func adaptivePresentationStyleForPresentationController(controller: UIPresentationController) -> UIModalPresentationStyle {
return .None
}
func userDidSelectPayment(title: NSString?) {
paymentTextField.text = title as! String
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "seguePayment"{
var VC = segue.destinationViewController as! UINavigationController
var controller = VC.popoverPresentationController
if controller != nil{
controller?.delegate = self
var paymentVC = PopPaymentTableViewController()
paymentVC.delegate = self
}
}
}
}
этого вопрос: переменный делегату TableViewController нравится, кажется, всегда ноль, так что не могут установленное значение
NB: извините я отредактирован полностью мой вопрос, потому что многие ответ сказать не могу установить текстовое поле так же, как тот
paymentTextField уже заявлено в TransactionViewController. этот поток может показаться так: в TransactionViewController есть текстовое поле, которое, если вы нажмете на текстовое поле, отобразит popover tableViewController, и если вы выберете ячейку, значение в ячейке должно быть введено в текстовое поле – fendy
, чем вы должны дать вашему TableViewController ссылку на ваш TransactionViewController и используйте эту ссылку вместо создания нового экземпляра TransactionViewController. – Christian
может быть ссылка на то, что вы подразумеваете под его протоколом? Я уже редактирую, посмотрю. thx – fendy