一、我们前面反复强调:

当1个类遵守了1个协议,这个类就拥有这个协议中的所有的方法声明

仅仅是只有声明而已,还要自己实现

如果不实现呢,也不会报错,只是给1个警告

1.下面呢,给大家介绍两个修饰符

@required 与 @optional

这两个修饰符,是专门用来修饰协议当中的方法的

2.例如,我这儿有个协议

SportProtocol

这个协议中有两个方法

爬山的方法 - (void)paShan;

游泳的方法 - (void)swim;

我们刚刚说过,协议中的方法可以用两个关键字来修:@required 和 @optional

#import <Foundation/Foundation.h>

@protocol SportProtocol < NSObject >

@require

【@required与@optional的区别 Objective-C语言】相关推荐

  1. python和java的区别-Java和Python的区别 学Python语言好还是Java好

    原标题:Java和Python的区别 学Python语言好还是Java好 相信不少想学编程的人都在纠结到底学Java好还是学Python,毕竟当下正是Python的火热时期,然而Java也同样占据编程 ...

  2. gets和fgets函数及其区别,C语言gets和fgets函数详解

    gets和fgets函数及其区别,C语言gets和fgets函数详解 每当讨论 gets 函数时,大家不由自主地就会想起 1988 年的"互联网蠕虫",它在 UNIX 操作系统的 ...

  3. puts和fputs函数及其区别,C语言puts和fputs函数详解

    puts和fputs函数及其区别,C语言puts和fputs函数详解 与 gets 函数一样,对于 puts 函数,同样建议使用 fputs 函数来代替 puts 函数.如下面的示例代码所示: int ...

  4. python是一种代表简单主义思想的语言_python区别于其他语言的优势是什么

    python区别于其他语言的优势: 1.简单,Python是一种代表简单主义思想的语言 阅读一个良好的Python程序就感觉像是在读英语一样,尽管这个英语的要求非常严格!Python的这种伪代码本质是 ...

  5. Java配置Spring时REQUIRED和REQUIRES_NEW 的区别

    REQUIRED  假如当前正要执行的事务不在另外一个事务里,那么就起一个新的事务  比如说,ServiceB.methodB的事务级别定义为PROPAGATION_REQUIRED, 那么由于执行S ...

  6. 指针与指针变量的区别(C语言)

    提示:本章主要谈及个人对C语言指针和指针变量的理解 文章目录 前言 一.指针是什么? 二.指针变量是什么? 三.知识拓展 总结 前言 指针是C语言中的一个很重要的concept,掌握指针的应用,可以使 ...

  7. 【学习日志】2022.09.02 (C++)strcmp和stricmp、strcmpi三者之间的区别、C语言判断文件后缀名、ZENO Audio Update、TEN MINUTES PHYSICS

    (C++)strcmp和stricmp.strcmpi三者之间的区别 (strcmpi在Windows C标准库实现,但不在GNU C标准库实现) #include <string.h> ...

  8. spring 事务传播REQUIRED 与 NESTED的区别

    总结 NESTED 似乎与REQUIRED 是一样的,但是他们是不同的. 若a 调用b 方法.a方法为REQUIRED,且在a中捕获b方法异常.注意 a ,b 方法不要在一个service中,不然事务 ...

  9. 字符数组和字符串的区别,C语言字符数组和字符串区别详解

    C 语言中并不存在字符串这个数据类型,而是使用字符数组来保存字符串.那么,字符数组就一定是字符串吗? 不一定,字符数组和字符串千万不要混淆.字符串是一种特殊的字符数组,并且C语言提供了大量适用于字符串 ...

最新文章

  1. WifiP2pSettings工作流程
  2. 被字节跳动T4级大佬鄙视了:让你10倍提升认知效率,就这3个方法!
  3. 伊利和蒙牛之间恩怨情仇
  4. 机器学习:正则化原理总结
  5. 字符串String的trim()方法
  6. ABAP 常用FUNCTION (最近工作中用到的)
  7. 【Sql查询数据】for 日、月、年
  8. pcl1.8.1+vs2017
  9. 管理感悟:宁可五个阶段做三个月,绝不一个阶段做二个月
  10. 深入浅出Python——Python基础语法全解
  11. Matlab画图颜色设置
  12. 基于pytorch训练的VGG16神经网络模型完成手写数字的分割与识别
  13. 基于C#.NET三层架构物流运输管理系统(TMS)-C/S框架网原创作品
  14. .Net微服务架构:API网关
  15. Tableau 5阶桑基图
  16. 返回结果的HTTP状态码-HTTP(四)
  17. RxSwift 的简单使用
  18. 鸿蒙跨屏流转是什么,华为智慧屏SE系列评测:从用上到爱上 就是一“眼”之间...
  19. 使用PlantUML插件来做图
  20. 将信将疑,将中台进行到底

热门文章

  1. 2019夏令营之行(上) 天大智能与计算学部+北航网安+北航计算机
  2. 从哲学角度看渗透之关于渗透与高智商电影
  3. LCHub:西门子低代码WorkFlow助力企业实现流程自动化
  4. 腾讯云CDB的AI技术实践:CDBTune
  5. 不会就翻翻——我的世界玩家成果链接大全!
  6. 基础 Element-plus-vite-vue3
  7. KBJ2510-ASEMI通用适配电磁炉整流桥KBJ2510
  8. xXx隐私助手1.0
  9. 计算机应用基础IE浏览器设置,计算机应用基础IE浏览器设置学习笔记
  10. Spring Boot入门(17):Spring Boot 整合 Knife4j,美化强化丑陋的Swagger-UI | 超级详细,建议收藏