当前位置: 首页 > news >正文

@synthesize和@dynamic分别有什么作用?

@property有两个对应的词,一个是 @synthesize,一个是 @dynamic。如果 @synthesize和 @dynamic都没写,那么默认的就是@syntheszie var = _var;

  • @synthesize 的语义是如果你没有手动实现 setter 方法和 getter 方法,那么编译器会自动为你加上这两个方法。
  • @dynamic 告诉编译器:属性的 setter 与 getter 方法由用户自己实现,不自动生成。(当然对于 readonly 的属性只需提供 getter 即可)。假如一个属性被声明为 @dynamic var,然后你没有提供 @setter方法和 @getter 方法,编译的时候没问题,但是当程序运行到 instance.var = someVar,由于缺 setter 方法会导致程序崩溃;或者当运行到 someVar = var 时,由于缺 getter 方法同样会导致崩溃。编译时没问题,运行时才执行相应的方法,这就是所谓的动态绑定。

@synthesize date=_date;这个一直很迷惑人,这个是帮你的属性绑定一个成员变量。

现在已经不需要写synthesize。

 

转载于:https://www.cnblogs.com/starainDou/p/5246399.html

相关文章:

  • Shell 中的空值(null value)和不存在是不一样的。
  • 提高自己应用性能的总结架构篇
  • 什么是端口映射
  • java中使用poi实现导入Excel
  • asp.net预定义的HttpModule
  • 20160309高项作业
  • nginx服务器绑定域名和设置根目录的方法
  • 不懂编程的运维人员到底还能走多远?
  • 经典SQL语句大全(数据开发篇)
  • 【Linux】一张图让你读懂Linux内核运行原理
  • nginx负载均衡实现tomcat集群
  • LeetCode-187. Repeated DNA Sequences
  • 有趣的玩意儿
  • 【直播回顾】21天搭建推荐系统:帮你减少90%代码量
  • 最少换乘 之简化版
  • 【跃迁之路】【641天】程序员高效学习方法论探索系列(实验阶段398-2018.11.14)...
  • 0基础学习移动端适配
  • axios 和 cookie 的那些事
  • CentOS从零开始部署Nodejs项目
  • ES学习笔记(10)--ES6中的函数和数组补漏
  • HTTP--网络协议分层,http历史(二)
  • Iterator 和 for...of 循环
  • Next.js之基础概念(二)
  • Node 版本管理
  • PHP面试之三:MySQL数据库
  • TCP拥塞控制
  • 近期前端发展计划
  • 前端js -- this指向总结。
  • 腾讯视频格式如何转换成mp4 将下载的qlv文件转换成mp4的方法
  • 我看到的前端
  • 一道闭包题引发的思考
  • 用jquery写贪吃蛇
  • 在GitHub多个账号上使用不同的SSH的配置方法
  • RDS-Mysql 物理备份恢复到本地数据库上
  • 京东物流联手山西图灵打造智能供应链,让阅读更有趣 ...
  • 如何用纯 CSS 创作一个菱形 loader 动画
  • #HarmonyOS:Web组件的使用
  • (145)光线追踪距离场柔和阴影
  • (C#)if (this == null)?你在逗我,this 怎么可能为 null!用 IL 编译和反编译看穿一切
  • (读书笔记)Javascript高级程序设计---ECMAScript基础
  • (非本人原创)史记·柴静列传(r4笔记第65天)
  • (附源码)spring boot基于小程序酒店疫情系统 毕业设计 091931
  • (附源码)spring boot球鞋文化交流论坛 毕业设计 141436
  • (附源码)springboot太原学院贫困生申请管理系统 毕业设计 101517
  • (力扣记录)1448. 统计二叉树中好节点的数目
  • .Net 6.0 处理跨域的方式
  • .Net CoreRabbitMQ消息存储可靠机制
  • .stream().map与.stream().flatMap的使用
  • @AliasFor注解
  • @CacheInvalidate(name = “xxx“, key = “#results.![a+b]“,multi = true)是什么意思
  • [ 攻防演练演示篇 ] 利用通达OA 文件上传漏洞上传webshell获取主机权限
  • []AT 指令 收发短信和GPRS上网 SIM508/548
  • [2019/05/17]解决springboot测试List接口时JSON传参异常
  • [30期] 我的学习方法
  • [AIR] NativeExtension在IOS下的开发实例 --- IOS项目的创建 (一)