首页
首页
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
一叶知秋0830
掘友等级
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
25
文章 25
沸点 0
赞
25
返回
|
搜索文章
赞
文章( 25 )
沸点( 0 )
iOS中Category的底层实现原理
1. Category的使用场景 Category也叫分类或类别,是OC提供的一种扩展类的方式。不管是自定义的类还是系统的类,我们都可以通过Category给原有类扩展方法(实例方法和类方法都可以),而且扩展的方法和原有的方法的调用方式是一模一样的。比如我项目中经常需要统计一个…
OC中load和initialize的区别
OC文件在编译后,类相关的数据结构会保留在目标文件中,在运行时得到解析和使用。在应用程序运行起来的时候,类的信息会有加载和初始化过程,这个过程就涉及到了类的两个类方法:load和initialize。下面我们就来介绍一下这2个方法的区别。(首先要说明一下,这2个方法是系统调用的…
iOS中KVC的底层实现流程
1. KVC的使用 KVC的全称是Key-Value Coding,也就是键值编码,我们可以通过一个key来设置或获取某个属性的值。KVC所用到的API如下: 但是如果我们要设置或获取Student实例对象的dog的age属性值,那就只能通过keyPath的方式了。此时如果还是…
iOS中KVO的底层实现原理
1. KVO的使用 KVO(Key-Value Observing),也就是我们常说的键值监听,可以用于监听某个对象属性值的改变。KVO使用比较简单,如下所示定义了一个含有2个属性的Student类,然后声明一个实例对象,并添加一个观察者监听某个属性,当被监听的属性发生变化时就…
OC的isa指针存储了哪些信息?
OC中所有的实例对象、类对象和元类对象中都一个名为isa的成员变量,他们通常把它叫isa指针,既然是指针,那里面存储的应该就是一个地址。在以前的32位系统中,isa确实就是存储的一个地址,实例对象的isa存储的是其对应的类对象的地址,类对象的isa存储的是其对应的元类对象的地址…
OC对象的本质
本次讲解的很多内容都涉及到objc的源码,有兴趣的可以去下载最新版本的objc4源码。 1. OC对象的内存布局 我们平时开发中说用到了绝大多数的类都是以NSObject作为基类。我们进入NSObject.h文件可以看到NSObject类的定义如下: 从上面可以看出这个结构体和…
Objective-C的本质
我们平时编写的Objective-C代码,底层实现其实都是C\C++代码,Objective-C的面向对象都是基于C\C++的结构体来实现的。所以我们所写的Objective-C代码最终都会转成C\C++代码,再由C\C++代码转成汇编语言代码,最后再转成机器语言。 相同的一份…
OpenGL相关名词解释
常用的图形处理框架有OpenGL、OpenGL ES、DirectX和Metal。OpenGL是一个跨平台的图形程序接口;OpenGL ES是OpenGL三维图形API的子集,它去除了许多不必要和性能较低的API,主要是真的手机、游戏主机等嵌入式设备而设计的;DirectX是W…
Xcode如何搭建OpenGL开发环境
首先要说明一下我的开发环境,Mac系统是macOS Catalina 10.15.1版本,Xcode是11.2.1版本,其他开发环境没有测试过,不保证按照这个步骤来有没有问题。 1. 下载资源文件 下载的OpenGL资源文件(链接:https://pan.baidu.com/s…
iOS多线程相关面试题
首先要说明一下,下面所有面试题调用的方法(比如第一个面试题调用的方法是interview1)都是在主线程中调用的。 1. 面试题1 performSelector:withObject:afterDelay:的本质是往Runloop中添加定时器(即使延时时间是0秒)。由于异步函…
下一页
个人成就
文章被点赞
211
文章被阅读
42,313
掘力值
1,174
关注了
11
关注者
500
收藏集
2
关注标签
7
加入于
2019-11-30