次元空间

次元空间

    • 异世界的大门
    • 档案岛
    • AboutMe

weibo

###自己模仿Sina Weibo做了一个Demo,记录一下。 ###使用CocoaPods导入第三方的框架 1234567891011121314151617181920212223242526#自动布局pod 'Masonry' #依赖注入pod

2016-12-20

UIWindow

UIScreen、UIWindow、UIView三者之间的关系 (1) UIScreen为硬件设备的屏幕抽象,其中一个属性是整个屏幕区域bounds (2) UIWindow为内容显示提供背景平台,一个App程序必须至少要有一个UIWindow,否则不会显示任何的东西 12

2016-11-20

Runtime Part13 TypeEncodings

类型编码: 苹果会对每一种数据类型,统一按照特定的格式进行编码,得到一个格式化字符串,作用是可以加快消息分发 对所有的开发者使用的数据类型,按照特定的格式进行编码 系统按照特定的格式进行解码,找到最终要执行的方法、是被方法参数,类型、返回值类型…等等 而如果不使用这种特定的格

2016-09-26

Runtime Part12 Intercept

方法拦截的途径方法一、执行一个SEL不存在Method的消息 然后不让方法继续执行,直接拦截掉 (resolve)转发给其他具有这个Method实例的Target (forward)方法二、使用runtime api,直接替换掉SEL指向的Method实例,让其找到一个假的函数实

2016-09-25

Runtime Part11 NSInvocation

NSInvocation学习记录首先看一个简单的示例代码 1234567891011121314151617181920212223242526//1. 创建要调用方法的SEL标识SEL myMethod = @selector(myLog:parm:parm:);//2. 设置

2016-09-25

Runtime Part10 Forward

完整的消息转发阶段 foward to a target forward with NSInvocation 当向对象或类发送一个没有对应方法实现的消息SEL时,由系统自动调用消息转发的几个系统函数。注意: 必须是执行一个不存在方法实现的SEL,才会调用如下的几个函数.

2016-09-24

Runtime Part9 Resolve

在没有找到发送消息中的SEL对应的Method时,系统会调用指定的系统函数,来处理这种情况. 可以是实现方法拦截的思路之一. 本文介绍使用 Resolve 动态决议的方式处理 没有找到 SEL对应的方法实现时进行消息转发. 动态方法决议、可以对类方法与对象方法进行拦截对象方法、

2016-09-24

Runtime Part8 Associate

在运行时,给对象关联一个其他对象,解决分类无法添加变量的缺陷. Category只能添加方法,而不能添加成员变量 动态添加成员变量,只能由object associate完成 主要是两个c函数 123456789101. 把一个对象与另外一个对象进行关联objc_setA

2016-09-24

Runtime Part7 Method

Method: 抽象一个方法的结构体类型 Method定义为objc_method结构体类型的一个指针类型 1typedef struct objc_method *Method; Method本身就是一个指针类型,所以不要使用如下代码 1Method * method = .

2016-09-23

Runtime Part6 MetaClass

Meta Class 元类年前在看YYModel源码,刚好碰到关于MetaClass相关东西,之前也一直模模糊糊。过年在家休息没事就学习学习,新的码农一年又开始了… Objective-c 中的 每一个类 如: Person类 其实包含两部分一、普通类(类本身) 如、Perso

2016-09-23
Prev1…45678…10Next

Links

业精于勤而荒于嬉,行成于思而毁于随
天空不曾流过痕迹,但鸟儿已飞过天空

Powered by hexo and Theme by Jacman © 2019 terriermon