自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 资源 (1)
  • 收藏
  • 关注

原创 runtime如何实现weak变量的自动置nil?

runtime 对注册的类, 会进行布局,对于 weak 对象会放入一个 hash 表中。 用 weak 指向的对象内存地址作为 key,当此对象的引用计数为0的时候会 dealloc, 在这个 weak 表中搜索,找到所有以a为键的 weak 对象,从而设置为 nil。weak 修饰的指针默认值是 nil (在Objective-C中向nil发送消息是安全的)...

2018-02-26 14:19:20 811

原创 能否想编译后的类中添加实例变量,能否像运行时创建的类添加实例变量?

1.不能向编译后得到的类增加实例变量2.能向运行时创建的类中添加实例变量原因:a.编译后的类已经注册在runtime中,类结构体中的objc_ivar_list实例变量的链表和instance_size实例变量的内存大小已经确定,runtime会调用class_setvarlayout或class_setWeaklvarLayout来处理strong weak引用.所以不能向存在的...

2018-02-26 14:17:28 1259

原创 objc在向一个对象发送消息时,发生了什么?

objc在向一个对象发送消息时,runtime库会根据对象的isa指针找到该对象实际所属的类,然后在该类中的方法列表以及其父类方法列表中寻找方法运行,然后在发送消息的时候,objc_msgSend方法不会返回值,所谓的返回内容都是具体调用时执行的objc中向一个nil对象发送消息将会发生什么?如果向一个nil对象发送消息,首先在寻找对象的isa指针时就是0地址返回了,所以不会出现任何错误。...

2018-02-26 14:10:32 2867

原创 3种类型的block

根据isa指针,block一共有3种类型的block_NSConcreteGlobalBlock 全局静态_NSConcreteStackBlock 保存在栈中,出函数作用域就销毁_NSConcreteMallocBlock 保存在堆中,retainCount == 0销毁...

2018-02-26 14:01:13 817

原创 iOS多线程—线程间的通信

介绍线程间通信:在1个进程中,线程往往不是孤立存在的,多个线程之间需要经常进行通信线程间通信的体现1个线程传递数据给另1个线程在1个线程中执行完特定任务后,转到另1个线程继续执行任务线程间通信常用方法(void)performSelectorOnMainThread:(SEL)aSelector withObject:(id)arg waitUntilDone:(BOOL...

2018-02-26 14:00:49 560

转载 iOS中,@dynamic关键字和@synthesize关键字是用来做什么的?

@synthesize:如果不实现setter和getter方法,将按照编译器的规则自动生成setter和getter方法.@dynamic:直接或动态的执行setter和getter方法.通常自己实现setter和getter方法,我们基本上不会用到.@dynamic 关键词的场景,之前@dynamic只在NSManagedObject的子类中遇到过,因为NSManagedObjec...

2018-02-26 10:27:27 1285

原创 MVC、MVVM和MVP的区别

MVCMVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。MVC模式最早由Trygve Reenskaug在1978年提出[1] ,是施乐帕罗奥多研究中心(Xerox PARC)在20世纪80年代为程序语言Smalltalk发明的一种软件设计模式。MVC模式...

2018-02-26 10:00:01 293

原创 为什么说Objective-C是一门动态的语言?

什么叫动态静态静态、动态是相对的,这里动态语言指的是不需要在编译时确定所有的东西,在运行时还可以动态的添加变量、方法和类Objective-C 可以通过Runtime 这个运行时机制,在运行时动态的添加变量、方法、类等,所以说Objective-C 是一门动态的语言其他说法Objective-C 是C 的超集,在C 语言的基础上添加了面向对象特性,并且利用Runtime 这个运...

2018-02-26 09:51:59 4154

德赛西威187B最新固_20200303.zip

德赛西威最新的187B固件升级解决问题: 主要解决如下bug: 1、倒车无影像; 2、DDR 参数配置错误致死机、反应慢,无法开机等; 3、调节音量FM无声音; 4、偶尔黑屏重启; 5、Carplay 导航意突然变大; 6、Carplay状态下百度地图反应卡滞及Carplav.反应速度慢;

2021-10-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除