2016-03-16 3 views
0

Я использую текстовый вид в viewcontrollerB при редактировании TextView, когда пользователь нажмите кнопку из навигационного контроллера вид должен выскочить на viewcontrollerAпередать данные другому контроллеру с помощью навигационной поп

назад

Мой код

-(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; 
} 

Я не получаю строку в viewcontrollerA

+0

как вы передаете данные? Вы используете делегатов? –

+0

Есть несколько способов. Вы можете использовать класс делегата или Singleton. – iMuzahid

+0

@UmaMadhavi, создающий объект этого контроллера – Jayasabeen

ответ

-1

в viewcontrollerB.h создать протокол

@protocol testDelegate <NSObject> 

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

@end 

объявить свойство

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

в viewcontrollerB.m С, где и передать текст, чтобы поддержать viewcontrollerA написать ниже

[self.delegate sendText:@"Hello"] 

в viewcontrollerA

добавить метод делегата и

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

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

} 

и объявить делегатский метод

где вы получите текст отправки.

прочитать полную детализацию по этой ссылке http://www.tutorialspoint.com/ios/ios_delegates.htm

+0

большое спасибо @bhargav bajani – Jayasabeen

+0

вы приветствуете @Jayasabeen –

0

1) @IBOutlet слабого уага txtName: UITextField! @IBOutlet слабый 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 = само 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 слабого уага txtPassValue: UITextField! @IBOutlet слабый 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) 
     } 

    } 
Смежные вопросы