Coder Note

Coderwong's blog


  • 首页

  • 归档35

  • 标签10

  • 分类2

KVO的实现原理

发表于 2018-08-16 | 分类于 Mobile | 阅读次数:

KVO的实现原理

首先需要了解KVO基本使用,KVO的全称 Key-Value Observing,俗称“键值监听”,可以用于监听某个对象属性值的改变。

阅读全文 »

关联对象实现原理

发表于 2018-08-15 | 分类于 Mobile | 阅读次数:
关联对象使用runtime为Category动态关联对象使用 runtime 给系统的类添加属性,首先需要了解对象与属性的关系。我们通过之前的学习知道,对象一开始初始化的时候其属性为nil,给属性赋值其实就是让属性指向一块存储内容的内存,使这个对象的属性跟这块内存产生一种关联。那么如果想动态的添加属 ...
阅读全文 »

Category的原理

发表于 2018-08-12 | 分类于 Mobile | 阅读次数:
Category的原理回顾OC对象的本质,每个OC对象都含有一个isa指针,arm64 之前,isa仅仅是一个指针,保存着对象或类对象内存地址,在 arm64 架构之后,apple对isa进行了优化,变成了一个共用体 union 结构,同时使用位域来存储更多的信息。OC对象的isa指针斌不是直接指向 ...
阅读全文 »

Objective-C 中 initialize load

发表于 2018-08-10 | 分类于 Mobile | 阅读次数:
我们接着上篇 Class-Model 继续围绕着 Runtime 来更深入的了解一个继承与 NSObject 类的初始化的过程。load我们先来了解下 load 方法,当一个类或者分类添加到运行时时候会被调用,通常的用法是在类中实现这个方法然后我们去做 Method Swizzling 操作,实质上 ...
阅读全文 »

isa

发表于 2018-08-04 | 分类于 Mobile | 阅读次数:
之前的博客留了一个64位CPU中isa指针的坑,今天来填个坑。 isa 的本质回顾OC对象的本质,每个OC对象都含有一个isa指针,arm64 之前,isa仅仅是一个指针,保存着对象或类对象内存地址,在 arm64 架构之后,apple对isa进行了优化,变成了一个共用体 union 结构,同时 ...
阅读全文 »

Class-Model

发表于 2018-08-01 | 分类于 Mobile | 阅读次数:
最近感觉应该重新看下开源的 Runtime,希望能有更深层的理解,下面几篇都会围绕着runtime来写对象 OC 中,每一个对象都是一个类的实例,且这个对象的 isa 指针指向它所属的类。 PS:这里留下个坑,因为isa在现有的64位CPU下已经不是一个单纯的指针了,包含了引用计数和weak指向等等 ...
阅读全文 »

CoreText点击事件处理

发表于 2018-07-10 | 分类于 Mobile | 阅读次数:
这篇我们来讲一下点击事件,看了不少博客将图文混排、点击事件等等都放在一篇来讲,这样的话可能对于我这种小白来说有点难消化,我就将几种需求放在几篇细细道来 思路我们通过之前几篇已经可以直接进行图文混排了,这次我们需要给富文本加上点击的方法,点击回调的时候将对应的字符串、绘制范围、字符串的位置等等信息 ...
阅读全文 »

CoreText图文混排

发表于 2018-07-09 | 分类于 Mobile | 阅读次数:
我们接着上一篇讲,上篇已经大概的讲了下单纯的绘制文字,但是一篇文章一般都会有几张图片的,而且是嵌入文字内的,不一定是将上下文字换行来处理的,我们今天就讲一下如果图片嵌入了文字该如何处理。 思路我们已经可以正常绘制富文本了,也可以通过CTLine和CTRun来分别对每行或者每行的绘制对象来进行干预 ...
阅读全文 »

CoreText跳坑

发表于 2018-07-05 | 分类于 Mobile | 阅读次数:

记得上次更新是半年前了,转眼就到了18年的Q3了。回顾一下我的博客的空窗期,记得在年初的时候前东家孵化了个线上的视频约见的项目,自己也算是尽力在做。之后又对项目管理感兴趣学了些报了个项目管理的考试,然而在最后一门论文崩盘也是心塞。在工作学习中发现,自己接触的越多越会感觉到自己的渺小自己的不足,同时考完试之后跳了一家更大的公司也搬了家,在项目组里面默默无闻,尽力去做的更好去完善自己吧,咳咳,扯多了,作为回归的第一篇还是得有点质量,总结一下CoreText的相关的东西,尽量用最少的文字讲更多的东西

阅读全文 »

Swift原生与RN通信的实现

发表于 2017-12-19 | 分类于 Mobile | 阅读次数:

公司的工程是使用纯Swift开发的,正好我们最近的版本需要使用RN进行混编,官网不是很友好用的都是OC来实现的,这里我们用Swift来与RN进行通信,下面我们简单介绍,前提是您已经将RN集成到工程中,如果不知道怎么集成的可以查看官网或者中文网

环境:Xcode9、Swift4.0

阅读全文 »
12…4
Coderwong

Coderwong

天道酬勤

35 日志
2 分类
10 标签
RSS
GitHub E-Mail
Links
  • NexT
  • hexo
© 2016 — 2019 Coderwong