关于委托代理

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

1)Student委托方需要做的事情:

①定义委托协议,例如

@protocol 协议名字 <NSObject>

//这里可以添加一些代理方法,例如

- (void)studentWithName:(NSString *)name;

@end

②声明delegate变量,例如

@property (nonatomic,weak) id<协议名> delegate;

③在实现文件中,根据需求在合适的位置调用协议中的方法,调用之前进行验证,例如

if (self.delegate && [self.delegate respondsToSelector:@selector(studentWithName:)]) {        [self.delegate studentWithName:name];    //调用代理方法,有参数就将参数给传递出去

 }

(2)Person代理方要做的事情是:

①遵守协议 ,例如

 @interface Person : NSObject <协议名字>

②将self赋值给delegate,例如

首先创建Student委托方的实例对象,然后完成赋值

student.delegate = self;

③实现协议中的方法,例如

- (void)studentWithName:(NSString *)name {

//在这里完成代理任务

}

简单的思路就是买票的人,黄牛。买票的人买不到票,委托黄牛帮忙买票,黄牛买成功以后通知买票的人我帮你买到了。

以上就可以总结为三步走。具体的实现和使用还需要同学耐下心来看老师的讲解。如果还有什么疑问,可以向助教提问,祝学习愉快~


问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
iOS入门:基础语法与常用控件
  • 参与学习       1337    人
  • 提交作业       712    份
  • 解答问题       1878    个

很多人都在疑问没有基础该怎么学习iOS开发?不用担心,本路径采用游戏关卡式的教学模式,并且以经典OC与最新Swift双重结合的教学内容,帮助大家快速掌握两种iOS开发语言基础,去掉“零”标签。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师