0
我有兩個視圖控制器的第二個VC上的UITextField
,我想推回第一個viewController中的數據回UILabel
。 第一個ViewController嵌入在UINavigationController
中。通過ViewControllers與故事板傳遞數據
prepareForSegue
?
我有兩個視圖控制器的第二個VC上的UITextField
,我想推回第一個viewController中的數據回UILabel
。 第一個ViewController嵌入在UINavigationController
中。通過ViewControllers與故事板傳遞數據
prepareForSegue
?
一個簡單的方法是使用塊屬性。
揭露其採用NSString
在SecondVC塊屬性:
@property (copy, nonatomic) void ^TextFieldBlock(NSString *textString);
將此屬性設置在prepareForSegue
在第一視圖控制器和更新您的UILabel
塊內(使用weakSelf避免保留週期的問題):
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
__weak typeof(self)weakSelf = self;
[segue.destinationViewController setTextFieldBlock:^(NSString *textString) {
weakSelf.mainLabel.text = textString;
}];
}
然後調用塊屬性在SecondVC並傳入UITextField
的文本時,它返回:
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
[textField resignFirstResponder];
[self TextFieldBlock](textField.text);
return YES;
}