
iOS
qq_32940999
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
NSString属性为什么要用copy
关于NSString作为属性的时候为什么要用copy,而非strong:1、首先copy 分为深拷贝和浅拷贝,深拷贝是拷贝内容并存放到另一份内存空间,浅拷贝是指针拷贝,会随着内存中对象值的变化而变化;2、NSString copy 浅拷贝 得到NSStringNSMutableString copy 深拷贝 得到NSStringNSString mutableCopy 深拷贝 得到NSMutableStringNSMutableSt原创 2022-02-22 16:39:08 · 2741 阅读 · 0 评论 -
oc 内存
自己理解代码区(code segment/text segment) 存放程序员写的代码,main()函数中的demo (编译器处理好的)数据区(data segment) 一般存放已经初始化的全局变量和静态变量 (编译器处理好的)bss段( bss segment ) 存放未初始化的全局变量和静态变量堆区(heap) 存储动态分配的内存,alloc、malloc ,这种程序员手...原创 2020-02-27 19:15:25 · 197 阅读 · 0 评论 -
Super关键字
super关键字:super 本质上是一个封装了receiver、superclass成员的结构体:{receiver(消息接收者,实际就是self)superclass(指向父类的指针)}例如:[super init] 就是向self发送objc msgsend(@select(init)),只是init方法要从父类开始找。...原创 2021-11-23 15:21:15 · 270 阅读 · 0 评论 -
野指针、僵尸对象、assign修饰对象问题
首先内存回收的本质:1、申请一块空间,实际上是向系统申请一块别人不再使用的空间;2、释放一块空间,指的是占用的空间不再使用,这个时候系统可以分配给别人去使用;3、这个空间在分配给别人之前,原来的数据还是存在的;3.1、OC对象释放后,表示OC对象占用的空间可以分配给别人使用;3.2、但是在分配给别人之前,这个空间里对象的数据仍然存在;僵尸对象:一个已经被释放的对象就叫做僵尸对象野指针:当所指向的对象被释放或者被回收,但是对该指针没有做任何的修改(没有置为nil),以至于该指针仍旧指向已经回收的原创 2021-10-26 15:50:50 · 309 阅读 · 0 评论 -
OC NSObject和isa
1、一个NSObject对象占多少个内存?答:系统会分配16个字节给NSOobject对象(可通过malloc函数获得);但是NSObject内部只用了8个字节空间(64bit环境下)(可通过classgetinstancesize函数获得)。2、对象的isa指针指向哪里?答:OC中对象分三种:1、instance(实例对象),通过alloc创建;2、class(类对象),通过class方法...原创 2020-02-26 16:07:03 · 269 阅读 · 0 评论 -
iOS 切圆角离屏渲染问题
GPU屏幕渲染有两种方式:1、On-Screen Rendering(当前屏幕渲染)指的是GPU的渲染操作是在当前显示的屏幕缓冲区进行。2、Off-Screen Rendering(离屏渲染)指的是GPU在当前屏幕缓冲区以外开辟一个缓冲区进行渲染操作。离屏渲染的代价很高体现在两个方面,1、需要创建一个新的缓冲区。2、上下文切换操作。会引发离屏渲染的操作:1、为图层设置遮罩(layer...原创 2019-11-04 17:20:27 · 1018 阅读 · 0 评论 -
Ios内购防漏单、刷单、订单重复
Ios苹果支付流程:1、客户端先从苹果获取内购Id。2、客户端将内购id,金额、用户id等传给服务端获取一个自己服务端生成的订单号。3、客户端向苹果发起支付。4、支付成功后,客户端从本地拿支付凭证、将支付凭证和订单号、用户id等参数传给服务端;服务端拿支付凭证向苹果发起验证订单是否有效,然后将结果反馈给客户端。5、客户端刷新用户个人信息。漏单:以上流程中可能会出现漏单的情况:当客户端...原创 2019-10-28 14:58:20 · 5081 阅读 · 0 评论 -
iOS 录音踩坑之旅
公司产品需求做一个录音功能,要求可以添加背景音乐,支持边录边播,录音试听、暂停录音、实时绘制音波图、以mp3格式上传服务端等功能。1、使用iOS自带API:AVAudioRecorder录音wav格式音频,存储到本地,录音暂停(pause)的时候,路径下并没有生成真正的音频文件(没有任何声音),只有调用stop结束录音,才会生成完整的wav文件。2、解决办法:暂停(pause)就是结束(sto...原创 2019-09-02 19:16:34 · 509 阅读 · 0 评论 -
iOS stastic和extern关键字
OC Stastic、Extern关键字的使用extern用来修饰全局变量(也成外部变量),作用域是整个源程序。stastic静态变量,只初始化一次,只有一份内存(直到程序结束才销毁);修饰全局变量时,作用域仅限当前文。...转载 2019-09-02 18:43:48 · 184 阅读 · 0 评论