ios 不常见关键字

libc++.dylib ios开发遇到的找不到libz.dylib,libsqlite3.0.dylib,libc++.dylib等 立即下载

static: 

静态全局变量:使用全局变量的作用域限于当前文件内部,只能内部文件才能访问该全部变量,外部访问不了

静态局部变量:定义在函数体内的,在函数外是不可见的,修饰局部变量保证永远只初始化一遍,在程序的运行中永远一份内存。

例:

- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{

   int i= 0 ;
    i ++ ;
    NSLog(@"---------%ld",i);   
}
//不用status修饰的话,永远只会打印1,因为每次点击都会重新初始化一个全新的变量使得i = 0;
//自加之后就会打印结果为1.
//但是如果使用status修饰局部变量i的话,就会让局部变量永远只初始化一次,一份内存。故每点击一次都会i自加1。

- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
    
    static int i= 0 ;
    i ++ ;
    NSLog(@"---------%ld",i);
}

 extern:

是一个全局变量,先在当前文件查找有没有全局变量,没有找到,才会去其他文件查找。

这个单词翻译过来是“外面的、外部的”。顾名思义,它的作用是声明外部全局变量。这里需要特别注意extern只能声明,不能用于实现,而且定义和分配内存都在原来类中。

UIKIT_EXTERN:

就是将函数修饰为兼容以往C编译方式的、具有extern属性(文件外可见性)、public修饰的方法或变量库外仍可见的属性

BOOL

BOOL类型的变量 是1个有符号的char变量.它使用8位的存储空间

typedef signedchar BOOL;

#define YES (BOOL)1

#define NO (BOOL)0

Boolean

typedef unsigned char Boolean;

enumDYLD_BOOL {FALSE,TRUE };

bool

C99标准定义了一个新的关键字_Bool,提供了布尔类型

#define bool _Bool

#define true 1  

#define false 0

bool 是int型,bool b 当b!=0 有 b=true

BOOL 是signed char型,BOOL b 当b=1 有 b=YES

Boolean 是char型

nil

nil是指一个不存在的OC对象指针,OC对象指针的空值。NSObject *object = nil;

Nil

Nil是指一个不存在的OC类指针,OC类指针的空值。因为大部分代码中不需要引用class变量,所以Nil并不常用。

Class class = Nil;

NULL

NULL是指C指针的空值。int *point = NULL;

NSNull

NSNull是用于表示空值对象的类。

NSNull经常用于NSArray、NSDictionary等,因为它们不能存储nil值,所以使用NSNull来代替nil。

nil == Nil == Null 所以它们在object-c中是可以通用的。都表示空对象的意思。

[NSNull null]是值为空的对象,和nil、Nil、Null是不等价的。

TC3XX - MCAL知识点(九):PWM EB-tresos配置说明及代码浅析 脉冲宽度调制(PWM)驱动器负责提供与AUTOSAR指定的PWM信号生成相关的标准服务。PWM通道的底层定时器驱动是GTM (TOM或ATOM片)或CCU6 (T12或T13片)定时器通道。软硬件匹配关系如下:PWM直接引用的是GTM与CCU6模块,然后GTM与CCU6再关联到Port的,根据软硬件匹配关系,也能调用中断来使用,本例子没使用中断。CCU6是一个高分辨率的16位捕获和比较单元,具有特定的应用模式,主要用于交流驱动控制。特殊的工作模式支持控制无刷直流电机使用霍尔传感器或反电动势检测。 阅读详情

相关推荐

我花3年踩坑总结的C#上位机开发指南:从零基础到项目落地(附实战案例)

串口乱码:编码格式不匹配,一定要和设备端确认;PLC连接超时:检查IP地址和端口,确保上位机和PLC在同一网段;界面卡死:耗时操作没开线程,WinForm用BackgroundWorker,WPF用Task;数据解析错误:寄存器地址算错(Modbus地址从0还是1开始);Modbus数据丢包:加CRC校验,重要数据重发机制;WPF绑定不生效:忘记实现INotifyPropertyChanged;项目打包失败:缺少依赖DLL,用Dependency Walker检查;现场环境不兼容。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1840

【iOS】—— 属性关键字及weak关键字底层原理

使用宏和常量所占用的内存差别不大,宏定义的是常量,常量都放在常量区,只会生成一份内存编译时刻:宏是预编译(编译之前处理),const是编译阶段。导致使用宏定义过多的话,随着工程越来越大,编译速度会越来越慢宏不做检查,不会报编译错误,只是替换,const会编译检查,会报编译错误。宏能定义一些函数,方法。const不能。1.通过计算对象地址的哈希值, 来从SideTables中获取对应的SideTable. 哈希值重复的对象的引用计数存储在同一个SideTable里.2.SideTable使用。

m0_62386635的博客 2148

DeepSeek的训练与优化流程

DeepSeek的训练体系不仅追求极致的计算效率,更注重将物理规律、人类知识、安全伦理深度融入训练过程,其"效率-安全-可解释性"三角平衡的设计理念,为行业提供了重要参考范式。

m0_56896669的博客 1434

copy, retain, assign , readonly , readwrite, nonatomic、@synthesize、@property、@dynamic

使用@property配合@synthesize可以让编译器自动实现getter/setter方法,使用的时候也很方便,可以直接使用“对象.属性”的方法调用;如果我们想要”对象.方法“的方式来调用一个方法并获取到方法的返回值,那就需要使用@property配合@dynamic了 使用@dynamic关键字是告诉编译器由我们自己来实现访问方法。如果使用的是@synthesize,那么这个工作编译器

chengyakun11的专栏 1495

Ubuntu图形界面崩溃?从tty到GUI的终极修复指南

本文提供了Ubuntu图形界面崩溃后进入tty的终极修复指南。详细介绍了如何诊断显示管理器(如LightDM或GDM3)状态,并通过重装、切换显示管理器、修复依赖、系统升级及排查显卡驱动等核心方案,逐步恢复GUI。帮助用户从命令行界面高效修复桌面环境,避免数据丢失。

vulkan6gpu的博客 778

目标检测 | R-CNN、Fast R-CNN与Faster R-CNN理论讲解

目标检测:R-CNN、Fast R-CNN与Faster R-CNN理论讲解,根据B站up霹雳吧啦Wz总结。此文章包含R-CNN算法原理讲解、Fast R-CNN算法原理讲解、Faster R-CNN原理讲解、目标检测评价指标介绍与特征金字塔网络FPN讲解。

houjingchuan的博客 9566

【iOS】属性关键字

并发编程中确保其操作具备整体性,系统其它部分无法观察到中间步骤,只能看到操作前后的结果。

zdsey的博客 748

【iOS】——属性关键字

NSMutableArray用copy修饰会出现什么问题?出现调用可变方法不可控问题,会导致程序崩溃。对于可变对象使用copy关键字会进行深拷贝,返回一个不可变的对象,对不可变的对象调用可变方法就会crash2.copy关键字影响了对象的可变和不可变属性吗?可变对象(mutable)copy和mutableCopy都是深拷贝不可变对象(immutable)的copy是浅拷贝,mutableCopy是深拷贝。

m0_73974920的博客 800

DSP28335新手避坑指南:手把手教你用CCS6.2生成10KHz SPWM(附完整工程)

本文详细介绍了如何使用DSP28335开发板和CCS6.2环境生成10KHz SPWM波形的完整工程指南。从开发环境配置、ePWM模块设置到SPWM算法实现,特别针对新手常见问题提供了解决方案和调试技巧,帮助工程师快速掌握DSP28335的SPWM生成技术。

weixin_42522374的博客 182

SerDes系列之如何选择AC耦合电容

交流耦合电容用于隔离PCB互连时的直流分量(Common-mode voltage),同时传递交流分量(Voltage swing),其作用类似于一个高通滤波器,但是,如果电容容值选取不当,使用过程中会产生信号质量问题,典型的应用场景:当包含相同的长串1或0的NRZ数据应用于该高通滤波器时,会发生低频电压跌落,导致低频模式相关抖动(PDJ)。

一只豌豆象的博客 2351

iOS开发_Tips(2)

1、UIImage转换为NSDataUIImage*ap_w_picpath=[UIImagep_w_picpathNamed:@"layne.png"]; NSData*p_w_picpathData=UIImagePNGRepresentation(ap_w_picpath);或UIImage*ap_w_picpath=[UIImagep_w_picpath...

weixin_34292959的博客 91

基于加速科技ST2500的SN74HC00N芯片测试计划

实际上随着工艺的进步,器件内部和引脚间的绝缘氧化膜越来越薄,导致漏电流发生的概率更大,另外制造过程中的工艺缺陷导致的桥接,异物或封装过程中造成的芯片划伤、引裂,都会造成IC的漏电流偏大,有部分产品可能会表现出漏电流偏大,但功能正常,此类产品具有潜在的可靠性问题,漏电流测试的目的就是把具有此类缺陷的产品筛选出来,避免其流到最终产品造成更大的损失。漏电流的测试方法相对简单,就是根据产品手册或测试规范对被测引脚施加额定的电压,然后测量其输入或流出的电流是否符合相应的设计规范。74HC00引脚功能如表所示。

weixin_68288412的博客 1437

iOS属性关键字

iOS属性关键字 常用的属性关键字:assign,weak,unsafe_unretained,strong,retain ,copy,readonly,readwrite , nonatomic,natomic及 __weak,__block ,@synthesize 和 @dynamic,只有准确的理解了他们的原理,用起来才能得心应手。 1、nonatomic、atomiac nonat...

永不止步的博客 2843

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

iOS9新特性之常见关键字

iOS9新出现的关键字:nullable,nonnull,null_resettable,_Null_unspecified等使用来修饰属性,或者方法的参数,返回值。 它们出现的好处是:1、迎合swift的特性;2、更加规范开发人员,同时减少程序员之间的沟通成本。 下面具体介绍一下新出现的这些关键字。 nullable 作用:表示可以为空 特点:只能修饰对象,不能修饰基本数据类型

a359696929的博客 1511

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

iOS常见的不调用dealloc的原因

(1)NSTimer 如果代码中存在NSTimer,当调用以下代码的时候,会增加ViewController的引用计数,需要在关闭页面的时候调用[timer invalidate] 销毁计时器,如果把[timer invalidate]放在了dealloc里,则永远不会被调用。 [NSTimer scheduledTimerWithTimeInterval:1.0 ...

培根芝士的专栏 1492

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

iOS weak关键字实现原理

在iOS中,使用weak关键字能够对内存对象进行弱引用,基于这个特性,使用weak关键字能够解决许多问题,例如delegate中对象的循环持有问题、Block对对象的强引用导致的对象无法及时释放问题。 为何weak关键字能够实现对内存对象的弱引用,今天我们就来探究一下。 首先在分析weak关键字实现原理之前,先介绍一下相关的数据结构,这些数据结构其中一部分可能在其他地方有所提及,但本文只列出与we...

TuGeLe的博客 1827

iOS 属性关键字

初了解iOS属性关键字

weixin_52192405的博客 846

iOS面试之属性关键字(二):常见面试题

iOS面试之属性关键字(二):常见面试题

u013712343的博客 876

【iOS开发】——属性关键字

在类中定义属性时,总会使用到@property进行定义,下面就来说说@property的使用。 在使用过程中,如果需求公开且在其他类中使用时,通常会定义在.h头文件中;而如果只是该类自已需要使用,这时则会定义在.m实现文件中。所以我们平时可以看到有的属性定义在.h文件中,有的属性定义在.m文件中,就是这个原因。使用方法: 那么属性关键字有哪些呢? atomic和nonatomic用来决定编译器生成的getter和setter是否为原子操作。atomic:系统生成的 getter/setter 会保证 get

weixin_51638861的博客 375

「iOS」————属性关键字

本文简单的介绍了iOS开发中的属性关键字,并对介绍的关键字进行意思讲解和使用讲解

2301_80253909的博客 982

iOS——属性关键字

iOS——属性关键字iOS属性关键字 iOS属性关键字 常用的属性关键字有:assign,weak,unsafe_unretained,strong,retain ,copy,readonly,readwrite , nonatomic,natomic及 __weak,__block ,@synthesize 和 @dynamic。 关键字有三个类别:读写权限、原子性、引用计数 读写权限:readwrite 读写,readonly 只读。属性默认是readwrite,支持读写。readonly属性只具有g

weixin_51638861的博客 401

iOS--属性关键字

chat:在iOS开发中,属性关键字是用于声明类的属性(实例变量)的修饰符。属性关键字可以影响属性的访问权限、内存管理和生成相关的getter和setter方法。

weixin_61196797的博客 899
上一篇: 知识点
下一篇: RAC学习笔记-RACStream
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值