0

I am using a text view in viewcontrollerB while editing the textview when the user tap back button from navigation controller the view should pop to viewcontrollerA

My code is

-(void)textFieldDidBeginEditing:(UITextField *)textField
{
     edit_TEXT = textField.text;
}

-(void) back;
{
   employer_REG_NEW *empSIGHN_UPVC = [employer_REG_NEW alloc] ;
   empSIGHN_UPVC.view_LINE = edit_TEXT;
}

I am not getting the string in viewcontrollerA

soumya
  • 3,801
  • 9
  • 35
  • 69
Jayasabeen
  • 136
  • 15

2 Answers2

0

1) @IBOutlet weak var txtName: UITextField! @IBOutlet weak var lblGetValue1: UILabel!

var str2 = String()

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.

}

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(true)

    self.lblGetValue1.text = str2
}

@IBAction func btnPassValueAction(_ sender: Any) {

let passData = storyboard?.instantiateViewController(withIdentifier: "SecondVC") as! SecondVC

// passData.delegate = self passData.str = txtName.text!

self.navigationController?.pushViewController(passData, animated: true)
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}

2) @IBOutlet weak var txtPassValue: UITextField! @IBOutlet weak var lblGetValue: UILabel!

var str = String()

//var delegate : myProtocol?

override func viewDidLoad() {
    super.viewDidLoad()

    self.lblGetValue.text = str
}
@IBAction func btnSendDataAction(_ sender: Any) {

    for viewController: UIViewController in (self.navigationController?.viewControllers)!{

        if (viewController is ViewController){

            let filterData: ViewController = (viewController as? ViewController)!
            filterData.str2 = txtPassValue.text!

              self.navigationController?.popToViewController(filterData, animated: true)
        }

    }
Hiren
  • 260
  • 3
  • 3
-1

in viewcontrollerB.h create Protocol

@protocol testDelegate <NSObject>

-(void)sendText:(NSString *)strText;

@end 

declare Property

@property (strong,nonatomic)id<testDelegate>delegate;

in viewcontrollerB.m From where u pass text to back viewcontrollerA write below

[self.delegate sendText:@"Hello"]

in viewcontrollerA

add Delegate method and

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {

viewcontrollerB *obj = segue.destinationViewController;
obj.delegate = self;

}

and declare delegate method

where u get send text.

read full detail on this link http://www.tutorialspoint.com/ios/ios_delegates.htm