OC-@dynamic 关键字

@dynamic这个关键词,通常是用不到的。

它与@synthesize的区别在于:

使用@synthesize编译器会确实的产生getter和setter方法,而@dynamic仅仅是告诉编译器这两个方法在运行期会有的,无需产生警告。

假设有这么个场景,B类,C类分别继承A类,A类实现某个协议(@protocol),协议中某个属性( somePropety )我不想在A中实现,而在B类,C类中分别实现。如果A中不写任何代码,编译器就会给出警告:

“use @synthesize, @dynamic or provide a method implementation"

这时你给用@dynamic somePropety; 编译器就不会警告,同时也不会产生任何默认代码。


@dynamic 就是要来告诉编译器,代码中用@dynamic修饰的属性,其getter和setter方法会在程序运行的时候或者用其他方式动态绑定,以便让编译器通过编译。其主要的作用就是用在NSManageObject对象的属性声明上,由于此类对象的属性一般是从Core Data的属性中生成的,Core Data框架会在程序运行的时候为此类属性生成getter和Setter方法。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/248035.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

git -- 练习的笔记

gitgitee.com:my_exercises/my_exercises.githttps://gitee.com/my_exercises/my_exercises/invite_link?invite3ab56c724a0aed34ae2bd193ce87e741e67fe05ee029cc01b7993663152babc57d76203fdafbbb42e766b0d826817bc91.在任意位置右键打开 2.初始化设置 3.添加远程仓库地址 4.…

Swift傻傻分不清楚系列(十二) 属性

本页包含内容: 存储属性(Stored Properties)计算属性(Computed Properties)属性观察器(Property Observers)全局变量和局部变量(Global and Local Variables)类型属性&a…

GIT — 使用回顾

回顾Git的使用 记录每次的变更 工作区 --> 暂存区 git add . / git add 文件 文件夹 .... 工作区 --> 暂存区/本地仓库 前提条件:文件曾经被添加到暂存区或提交到仓库git commit -a -m 提交说明 暂存区 --> 本地仓库 git commit -m 提交说明 / git commi…

获取两个数百分比的值

1 /**2 * 获取两个数百分比的值3 * 4 * param num1 5 * param num26 * param retain 保留小数位数7 * return8 */9 public static String numberFormat(int num1, int num2, int retain) { 10 NumberFormat numberFormat …

iOS AVAudioPlayer和AVAudioPlayerDelegate-音频播放处理中断

学习总是在进行。 一、AVAudioPlayer如何处理中断 AVAudioPlayer类提供了代理方法&#xff0c;用来处理当播放音频文件时&#xff0c;发生来电、闹钟等事件。设置代理并遵守AVAudioPlayerDelegate协议,<span style"font-family: Arial, Helvetica, sans-serif;"&g…

Ajax — 大事件项目(第一天)

应用的前端技术 Ajax (重要) — jQuery方式接口请求Layui 框架使用HTML CSS JS 项目说明和演示 线上 DEMO 项目地址&#xff1a;http://www.liulongbin.top:8086/项目的 API 接口地址&#xff1a; https://www.showdoc.cc/escook?page_id3707158761215217 项目请求根路径…

JS,JQ 格式化小数位数

在<script>中&#xff1a; $(function(){   var num$(".price").length;/*获取应用了class"price"的标签数量*/   for(var i0;i<num;i){     if($(".price")[i].innerText!"")       $(".price")[i]…

iOS开发实用技巧—Objective-C中的各种遍历(迭代)方式

说明&#xff1a; 1&#xff09;该文简短介绍在iOS开发中遍历字典、数组和集合的几种常见方式。 2&#xff09;该文对应的代码可以在下面的地址获得&#xff1a;https://github.com/HanGangAndHanMeimei/Code 一、使用for循环 要遍历字典、数组或者是集合&#xff0c;for循环是…

windows系统作为客户端时,linux中本地yum源挂载时,如何同时挂载DVD1和DVD2?

这里以CentOS6.5为例.他的镜像有两个DVD1和DVD2.DVD1中是系统和主要的安装包,DVD2中是剩下的安装包 当挂载时如果要同时挂载DVD1和DVD2.需要这样做: 1)在虚拟机的设置中选择连接 2)分别在mnt下创建cdrom和cdrom1文件夹 3)到dev下查看有软连接 cdrom->sr0 cdrom1->sr1 这里…

Ajax — 大事件项目(第二天)

大事件-02 fix一个bug 原因&#xff1a; 开始做注册的时候&#xff0c;页面中只有一个 namepassword的input&#xff0c;所以 $(‘input[name“password”]’) 可以准确的找到元素后来做登录的时候&#xff0c;页面中多了一个namepassword的input&#xff0c;所以$(‘input[…

OpenCV自带dnn的Example研究(3)— object_detection

这个博客系列&#xff0c;简单来说&#xff0c;今天我们就是要研究https://docs.opencv.org/master/examples.html下的6个文件&#xff0c;看看在最新的OpenCV中&#xff0c;它们是如何发挥作用的。在配置使用的过程中&#xff0c;需要注意使用较高版本的VS避免编译器兼容问题&…

Ajax — 大事件项目(第三天)

大事件-03 用户信息 表单验证 html中&#xff0c;直接使用layui提供的内置验证规则 email <input type"text" name"email" required lay-verify"required|email" placeholder"请输入邮箱" autocomplete"off" class&q…

iOS中监测来电方案

问题 最近在做一个有录音功能的App&#xff0c;要求当用户接到来电时&#xff0c;要停止录音。该如何实现这个功能呢&#xff1f; 解决方案 我首先想到了AppDelegate里的applicationWillResignActive:方法&#xff0c;在该方法的注释中就写到到收到来电或短信时&#xff0c;系统…

iOS运行时-使用Runtime向Category中添加属性以及运行时介绍

前言 了解OC的都应该知道&#xff0c;在一般情况下&#xff0c;我们是不能向Category中添加属性的&#xff0c;只能添加方法&#xff0c;但有些情况向&#xff0c;我们确实需要向Category中添加属性&#xff0c;而且很多系统的API也有一些在Category添加属性的情况&#xff0c;…

Ajax — cropper (图片剪裁)基本用法

jQuery-cropper插件完整的API&#xff1a;http://www.jq22.com/jquery-info9322 1. 基本使用步骤 在 <head> 中导入 cropper.css 样式表&#xff1a; <link rel"stylesheet" href"/assets/lib/cropper/cropper.css" />在 <body> 的结…

「短篇小说」灵囚 540 天

转载&#xff1a;知乎 - BIMBOX 孙彬 - https://zhuanlan.zhihu.com/p/24655832 「我们总有一天会逾越那条上帝划好的界限&#xff0c;而最终我们将无法面对真实和虚假&#xff0c;正义与罪恶。」 「不幸的是&#xff0c;从伊甸园那一次&#xff0c;我们就已经越界了。」 第十天…

iOS 够逼格的注释总结

首先关于注意这里就不说什么VVDocument了&#xff0c;来点新鲜的&#xff01; 也许你使用过#warning 警告提示 也许你也使用过#pragma marks。 但是你见过或者使用过下面这个吗&#xff1f; Comments containing:MARK:TODO:FIXME:!!!:???: 没有&#xff0c;那么你就快速的看…

Git图形化管理工具

Git图形化管理工具 注意&#xff1a;必须在创建的仓库中进行右键打开 复制这段内容后打开百度网盘App&#xff0c;操作更方便哦。 链接&#xff1a;https://pan.baidu.com/s/1eXIk01LXSmzmXvYfw3MnEA 提取码&#xff1a;J166 --来自百度网盘超级会员V5的分享 分类 sourceTr…

TCP/IP(一):数据链路层

背景 这一系列的文章主要是为一般的、非专业开发岗位(如移动端)的工程师准备&#xff0c;一方面可以对网络的基本知识有基本的了解&#xff0c;另一方面不至于面试中被问到相关问题时束手无策。知识以 TCP/IP 协议簇为主&#xff0c;也会有应用层和数据链路层的简单介绍。 文…

富文本和封面制作

1. 富文本编辑器的实现步骤 添加如下的 layui 表单行&#xff1a; <div class"layui-form-item"><!-- 左侧的 label --><label class"layui-form-label">文章内容</label><!-- 为富文本编辑器外部的容器设置高度 --><div…