Swift 协议代理传值(十)

Swift 协议代理传值(十),第1张

概述Objective-C 这里演示反向传值 SecondVC.h@protocol sendValueDelegate <NSObject>- (void)sendValueString:(NSString *)str;@end@interface OC_SecController : UIViewController@property (nonatomic, assign) id<sen Objective-C

这里演示反向传值

SecondVC.h@protocol sendValueDelegate <NSObject>- (voID)sendValueString:(Nsstring *)str;@end@interface OC_SecController : UIVIEwController@property (nonatomic,assign) ID<sendValueDelegate> delegate;
SecondVC.m// 跳转方法中- (voID)clickBack:(UIbutton *)button{    if (self.delegate && [self.delegate respondsToSelector:@selector(sendValueString:)]) {        // i am a String 是传过去的字符串        [self.delegate sendValueString:@"i am a String"];    }    [self dismissModalVIEwControllerAnimated:YES];}
RootVC.m- (voID)click:(UIbutton *)button{    OC_SecController *sec = [[OC_SecController alloc] init];    // 指定代理人    sec.delegate = self;    [self presentVIEwController:sec animated:YES completion:^{    }];}// 实现代理方法- (voID)sendValueString:(Nsstring *)str{    // str 就是传过来的值    NSLog(@"string : %@",str);}
Swift

Swift 版本 我单独创建了一份协议
commond+ n

Protrol.swift// 定义一个协议protocol ModeVIEwControlDelegate{    // 协议方法    func changeLabelString(newString: String)}
SecondVC.swiftvar delegate : ModeVIEwControlDelegate?// 跳转返回的点击事件func click()->VoID{        let str = textFIEld.text        self.delegate?.changeLabelString(str!)        self.dismissVIEwControllerAnimated(true) { () -> VoID in        }    }
RootVc.swift// 实现协议中的方法    func changeLabelString(newString: String) {        label.text = "labeltext:\(newString)"        print(newString) // newString 从secondVC.swift 传过来的值    }    // 跳转的点击方法    func click()->VoID    {        print("-------")        let sec = SecVIEwController();        sec.delegate = self        self.presentVIEwController(sec,animated: true) { () -> VoID in        }    }

demo: https://github.com/Zhangjingwang1993/SwiftProtocol Swift / OC 进阶群: 498143780

总结

以上是内存溢出为你收集整理的Swift 协议代理传值(十)全部内容,希望文章能够帮你解决Swift 协议代理传值(十)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1078122.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-27
下一篇2022-05-27

发表评论

登录后才能评论

评论列表(0条)

    保存