Runtime
文章平均质量分 91
iOS -> runtime
Morris_
个人笔记!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
早年间那些iOS面试题,不知道现在还有没有用?
runtime对NSObject的定义runtime对NSObject(见NSObject略...NSObject类中有一个Class类型的指针isa,也就是说OC对象都有一个指向该类的指针,即isa指针。runtime对Object的定义Class isa;- (id)init;略...runtime对对象的定义如上,对象也是有一个指向对象对应的类的isa指针。runtime对Class的定义Class对象其实是一个指向objc_class结构体的指针。原创 2024-05-31 09:00:21 · 983 阅读 · 0 评论 -
objc_msgSend()
objc_msgSend()是iOS runtime中重要的函数之一,用来做消息分发的,我们知道OC的消息调用,最终都是转成runtime的消息,然后分发出去的。 当OC的方法被转成runtime的消息时,是个什么样子的呢?其实就是一些像objc_msgSend()这样的函数,runtime函数再往底层就是汇编了。 引入头文件 #import <objc/message.h> 例子 UIColor *color = [UIColor colorWithRed:220/225.0 gr原创 2020-07-16 13:04:22 · 662 阅读 · 0 评论 -
runtime属性的读与写
文章目录通过ivar读、写举例 通过ivar读、写 这里以Person类为例,来看怎么对属性值进行操作。 Person类有一个属性name @property (nonatomic, copy) NSString *name; 对应的变量名_name @synthesize name = _name; p是实例化的一个对象。需要引入runtime头文件<objc/runtime.h&...原创 2020-04-30 11:10:14 · 231 阅读 · 0 评论 -
KVO
KVO 概述 KVO,即Key Value Observer,键值观察者模式,是一种设计模式。在iOS中,一个对象可以监听另一个对象某个属性值的变化。 KVO和NSNotificationCenter都是iOS中观察者模式的一种实现。区别在于,相对于被观察者和观察者之间的关系,KVO是一对一的,而NSNotificationCenter是一对多的。KVO对被监听对象无侵入性,不需要修改其内部代码即...原创 2020-03-16 19:50:26 · 178 阅读 · 0 评论 -
runtime.h-Functions-Working with Classes (二)
文章目录Working with Classes (二)class_getIvarLayoutclass_getWeakIvarLayoutclass_addMethodclass_replaceMethodclass_addIvarclass_addProtocolclass_addPropertyclass_replacePropertyclass_setIvarLayoutclass_set...原创 2020-03-11 12:13:36 · 211 阅读 · 0 评论 -
runtime.h-Functions-Obtaining Class Definitions
文章目录Obtaining Class Definitionsobjc_getClassobjc_getMetaClassobjc_lookUpClassobjc_getRequiredClassobjc_getClassListobjc_copyClassList Obtaining Class Definitions objc_getClass OBJC_EXPORT Class _Nulla...原创 2020-03-08 12:07:54 · 231 阅读 · 0 评论 -
runtime.h-Functions-Working with Instances
文章目录object_copyobject_disposeobject_getClassobject_setClassobject_isClassobject_getIvarobject_setIvarobject_setIvarWithStrongDefaultobject_setInstanceVariableobject_setInstanceVariableWithStrongDefaul...原创 2020-03-08 12:05:33 · 297 阅读 · 0 评论 -
runtime.h - Types
文章目录objc_methodobjc_ivarCategoryobjc_property_tobjc_classProtocolobjc_method_descriptionobjc_property_attribute_t objc_method /// An opaque type that represents a method in a class definition. typedef...原创 2020-03-08 11:56:44 · 226 阅读 · 0 评论 -
类对象、实例对象、isa指针
文章目录实例对象类对象(Class)元类对象(Metaclass)关于isa指针isa概述实例对象的isa指针指向类对象类对象的isa指针指向元类元类对象的isa指向根元类举例推荐阅读 在iOS开发中可能会遇到这样的问题,什么是类对象,它和实例对象有什么区别? 实例对象 首先我们来看看经常使用到的实例对象。 什么是实例?站在面向对象的角度上说,实例是一个抽象类具体的某个对象。 由一个类实例化来的对...原创 2020-03-06 22:47:41 · 807 阅读 · 2 评论 -
objc.h
文章目录objc.h头文件阅读Classobjc_objectSELIMP一些函数定义方法总结 objc.h 头文件阅读 Class Class在Runtime中的定义: /// An opaque type that represents an Objective-C class. typedef struct objc_class *Class; 可以看到Class是一个objc_class...原创 2020-03-06 11:18:50 · 417 阅读 · 0 评论 -
message.h
文章目录message.h概述objc_superobjc_msgSend、objc_msgSendSuperobjc_msgSend_stret、objc_msgSendSuper_stretobjc_msgSend_fpretmethod_invoke、method_invoke_stret_objc_msgForward、_objc_msgForward_stretobjc_msgSendv...原创 2020-03-05 16:07:14 · 756 阅读 · 0 评论 -
NSObject.h
文章目录NSObject.h概述performSelectorIMP指针使用判断方法其他方法 NSObject.h 概述 @protocol NSObject ... @end 对NSObject协议的定义。我们知道NSObject不仅是一个类而且是一个同名的协议。 @interface NSObject <NSObject> { #pragma clang diagnostic...原创 2020-03-04 11:57:17 · 417 阅读 · 0 评论 -
NSObjCRuntime.h
NSObjCRuntime.h #if __LP64__ || TARGET_OS_WIN32 || NS_BUILD_32_LIKE_64 typedef long NSInteger; typedef unsigned long NSUInteger; #else typedef int NSInteger; typedef unsigned int NSUInteger; #endif 这...原创 2020-03-04 11:54:54 · 288 阅读 · 0 评论 -
runtime学习笔记
文章目录前言阶段一 Runtime源码阅读Public Headers 前言 在苹果开源网站上可以下载到Runtime源代码。 之前通过网友的博客对Runtime有所了解,项目里也有所应用,但是对有些东西总是感觉模棱两可,所以没事的时候看看源码学习学习还是很有必要的。 下面就是我看源码和查阅资料进行学习整理的笔记。 阶段一 Runtime源码阅读 初次下载学习可能会感觉无从下手,就从“Public...原创 2020-03-04 11:53:03 · 709 阅读 · 0 评论
分享