- (void)setValue:(id)value forKey:(NSString *)key方法,实现原理与验证 功能:使用一个字符串标示符给一个对象的属性赋值.它支持...
- (void)setValue:(id)value forKey:(NSString *)key方法,实现原理与验证 功能:使用一个字符串标示符给一个对象的属性赋值.它支持...
从https://opensource.apple.com/releases/[https://opensource.apple.com/releases/]中下载objc4...
相信大家在学习C语言的时候,malloc是最早遇到的几个方法之一,这里就来深入的了解下,macOS/iOS中用户空间的内存分配。 引言 首先,我们来看几个有意思的例子,以下几...
前言 在分析 cache_t原理[https://www.jianshu.com/p/cc32f1f35c7f] 时,提及很多次的 objc_msgSend 函数,以及在真机...
arm64 指令个人记录 ARM指令集是指计算机ARM操作指令系统。在ARM中有两种方式可以实现程序的跳转:一种是跳转指令;另一种是直接向PC寄存器(R15)中写入目标地址值...
mutex 可以防止多个线程同时访问共享的资源时的 race condition。 absl::Mutex 和 std::mutex absl::Mutex 相比于 std:...
参考 为什么多线程读写 shared_ptr 要加锁? boost官方文档 shared_ptr_thread_safety 1. 概述 智能指针包括一个实际数据指针和一个引...
1. Metal Shading Language简介 Metal着色语言是用来编写3D图形渲染逻辑和并行计算核心逻辑的一门编程语言,底层使用Clang和LLVM进行编译处理...
TopicList 一, UIBezierPath 简介 二, UIBezierPath 初始化方法 三, UIBezierPath 常用属性说明 四, UIBezierPa...
Pop 是 iOS,tvOS 和 OS X 的可扩展动画引擎。除了基本的静态动画外,他支持弹性和衰减动画动态动画,使其可用于构建逼真的基于物理学的交互。API 允许与现有的 ...
Metal简述 Metal着色器语言是用来编写 3D图形渲染逻辑、并行Metal计算核心逻辑 的一门编程语言,当你使用Metal框架来完成APP的实现时则需要使用Metal编...
这里只讲ImageIO中CGImageSource常见的三种使用方式,一种是进行图片格式解码读取(包括原始图片和生成缩略图),另一种是获取图片的相关信息(如:定位,拍摄设备,...
AVCC与Annex-B H264码流分为AVCC与Annex-B两种组织格式。AVCC格式 也叫AVC1格式,MPEG-4格式,字节对齐,因此也叫Byte-Stream F...
前言 对iOS开发者而言,runloop是一个老生常谈的话题,但凡是iOS开发者,在工作中必然直接或间接的接触过runloop。而对于面试者而言,runloop又几乎是必考点...
我们会借助一些崩溃日志收集库来定位和排查线上的崩溃信息,但是有些崩溃堆栈所提供的信息有限又不是必现崩溃,很难直观排查出问题的所在。这里我给大家分享一个采用寄存器赋值追踪的技术...
Xcode构建过程的后台工作(WWDC2018字幕搬运) 原文传送门 Xcode构建过程的后台工作(二)clang构建Xcode构建过程的后台工作(三)swift构建Xcod...
观看2018 wwdc中的iOS Memory Deep Dive视频做的一些笔记. 1、查看虚拟内存区域分配:vmmap 如:1)、列出对象占用虚拟内存大小vmmap --...
前言 在使用OC的项目中,对于网络请求获取json数据,然后进行解析成的自定义模型我们通常会用MJExtension来很方便的处理.在Swift中,我发现早期其实系统没有提供...