知行合一

无畏的协助者


  • 首页

  • 归档

  • 关于

iOS Runtime 消息

发表于 2016-03-20 | 分类于 iOS

OC中方法调用在运行时的过程

  1. 首先,在相应操作的对象中的缓存方法列表中找调用的方法,如果找到,转向相应实现并执行。

  2. 如果没找到,在相应操作的对象中的方法列表中找调用的方法,如果找到,转向相应实现执行

  3. 如果没找到,去父类指针所指向的对象中执行1,2.

  4. 以此类推,如果一直到根类还没找到,转向拦截调用。

  5. 如果没有重写拦截调用的方法,程序报错。

阅读全文 »

iOS Runtime 学习

发表于 2016-03-18 | 分类于 iOS
Runtime 概述

Objective-C runtime是一个实现Objective-C语言的C库。对象可以用C语言中的结构体表示,方法(methods)也可以用C函数实现。

当程序执行[object doSomething]时,并不是直接找到方法调用,而是会将一条消息(message)会发送给对象,对象根据消息决定该作出怎样的反应。

阅读全文 »

iOS RSA 加密

发表于 2016-03-15 | 分类于 iOS
RSA 简述
  • RSA算法:1977年由Ron Rivest、Adi Shamirh和LenAdleman发明的,RSA就是取自他们三个人的名字。算法基于一个数论:将两个大素数相乘非常容易,但要对这个乘积的结果进行因式分解却非常困难,因此可以把乘积公开作为公钥。该算法能够抵抗目前已知的所有密码攻击。RSA算法是一种非对称算法,算法需要一对密钥,使用其中一个加密,需要使用另外一个才能解密。我们在进行RSA加密通讯时,就把公钥放在客户端,私钥留在服务器。
阅读全文 »

iOS Auto Layout Demystified 学习笔记(六)

发表于 2016-03-10 | 分类于 iOS
Auto Layout 的基本原则 Auto Layout是声明性的 Auto Layout最小化了计算 Auto Layout设计是非直接的,但是它很灵活 Auto Layout是由几何驱动的 Auto Layout聚焦于关系 Auto Layout允许带优先级的规则 Auto Layout表现自 ...
阅读全文 »

iOS Auto Layout Demystified 学习笔记(五)

发表于 2016-03-08 | 分类于 iOS
本文将专注并聚焦底层约束。 Xcode反馈Xcode 提供了贯穿界面创建过程的约束反馈,我们将在开发、编译、运行时收重要的状态更新。 调试规则 使用自动布局时,不要忘记设置translatesAutoresizingMaskIntoConstraints属性。 使用约束时,可以尝试调整优先级来解决冲 ...
阅读全文 »
1…3456

温小二

无畏的协助者

29 日志
2 分类
11 标签
GitHub E-Mail
© 2016 — 2018 温小二
由 Hexo 强力驱动
|
主题 — NexT.Mist v5.1.4