2012-12-06 105 views

回答

1

一个简单的方法是使用块属性。

揭露其采用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; 
}