1).第二頁中
1.聲明協(xié)議和方法
@class PurpleViewController;//向前生聲明
@protocol ?PurpleViewControllerDelegate
- (void)purpleVC:(PurpleViewController *)purpleVC text:(NSString *)text;
@end
2.聲明協(xié)議類型的屬性
@property (nonatomic, weak) id delegate;
3.在適當(dāng)?shù)奈恢谜{(diào)用協(xié)議方法
//監(jiān)聽是否輸入了字符,是否點(diǎn)擊了return
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
? ?if ([text isEqualToString:@"\\n"]) {
? ? ? ?if ([_delegate respondsToSelector:@selector(purpleVC:text:)]) {
? ? ? ? ? ?[_delegate purpleVC:self text:textView.text];
? ? ? ?}
? ? ? ?[self dismissViewControllerAnimated:YES completion:nil];
? ?}
? ?return YES;}
2).第一頁中
1.引入第二頁遵守協(xié)議
@interface ViewController ()
<PurpleViewControllerDelegate>
2.在適當(dāng)時機(jī),將自己設(shè)置為第二頁的代理類
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
? ?if ([segue.identifier isEqualToString:@"11"]) {
? ? ? ?PurpleViewController *vc = segue.destinationViewController;
? ? ? ?vc.delegate = self;
}
}
2.調(diào)用方法
- (void)purpleVC:(PurpleViewController *)purpleVC text:(NSString *)text{
self.textView.text = text;
}
———————————————————————————————————————
執(zhí)行到這一步之前,已近將第一頁的地址賦給了第二頁的delegate,當(dāng)delegate在第二頁調(diào)用方法,傳入第二頁的參數(shù)時,第一頁
會執(zhí)行協(xié)議的方法
[_delegate purpleVC:self text:textView.text];
———————————————————————————————————————