2024年iOS开发进阶(三):协议(Protocol)讲解_ios 实现协议(1),2024年最新15个经典面试问题及回答思路视频

最后

其实前端开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。

这里再分享一个复习的路线:(以下体系的复习资料是我从各路大佬收集整理好的)

《前端开发四大模块核心知识笔记》

最后,说个题外话,我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在IT学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。


一旦SomeClass表明他采纳了Locking协议,SomeClass就有义务实现Locking协议中的两个方法。



@implementation SomeClass

  • (void)lock {
    // 實現lock方法…
    }
  • (void)unlock {
    // 實現unlock方法…
    }
    @end

由于SomeClass已经确实遵从了Locking协议,故调用端可以安全的发送lock或unlock消息给SomeClass实体变量,不需担心他没有办法回应消息。


当某个类遵守了某个协议,但并不意味着:它就一定要实现它,因为不实现也不报错。当这个类被实例化,意味着可以调用其遵守的协议方法,但如果没有实现就会报错,所以要使用`respondsToSelector`进行判断是否实现了某些协议方法。



@protocol wiftPro

-(void)dohouseWork;
-(void)learn;

@end



@interface wife : NSObject

if ([self.wift respondsToSelector:@selector(dohouseWork)]) {
[self.wift learn];
}


### 协议的使用特点


* ###### 父类遵守了某个协议,那么子类也自动遵守此协议


父类遵守了此协议



@protocol StudyProtocol

  • (void)study;
    @end


@interface Person : NSObject< StudyProtocol>
@end


子类自然遵守此协议



@interface Student : Person
@end

@implementation Sutdent

-(void)study{

}
@end



* ###### 协议可以遵守协议


一个协议遵守了另一个协议,就可以拥有另一份协议中的方法声明。



@protocol A
-(void)methodA;
@end

@protocol B
-(void)methodB;
@end




@interface TZperson : NSObject
-(void)methodA; // 同时拥有A/B协议中的方法声明
-(void)methodB;
@end


* ###### 基协议


每个协议都应该遵守 `NSObject`协议,它是一个基协议,最根本的协议。



@protocol A // 基协议
-(void)methodA;
@end

总结

阿里十分注重你对源码的理解,对你所学,所用东西的理解,对项目的理解。

最新阿里蚂蚁金服四面(已拿offer)Java技术面经总结

最新阿里蚂蚁金服四面(已拿offer)Java技术面经总结

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

最新阿里蚂蚁金服四面(已拿offer)Java技术面经总结

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值