摘要: 本文内容来自raywenderlich的这篇文章的翻译:AVFoundation Tutorial: Adding Overlays and Animations to Videos这是我当年做视频大量参考的文章。写得非常好,建议看完我的这篇去看原文。第一节:给视频添加边框今天第一节先讲解如何为一个... 阅读全文
posted @ 2015-01-04 12:25 L了个J 阅读(1262) 评论(0) 推荐(0) 编辑
摘要: 前面几篇基本介绍了runtime中的大部分功能,包括对类与对象、成员变量与属性、方法与消息、分类与协议的处理。runtime大部分的功能都是围绕这几点来实现的。本章的内容并不算重点,主要针对前文中对Objective-C Runtime Reference内容遗漏的地方做些补充。当然这并不能包含所有... 阅读全文
posted @ 2015-01-04 12:22 L了个J 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 在上周associated objects一文中,我们开始探索Objective-C运行时的一些黑魔法。本周我们继续前行,来讨论可能是最受争议的运行时技术:method swizzling。Method swizzling指的是改变一个已存在的选择器对应的实现的过程,它依赖于Objectvie-C中... 阅读全文
posted @ 2015-01-04 12:21 L了个J 阅读(231) 评论(0) 推荐(0) 编辑
摘要: Objective-C中的分类允许我们通过给一个类添加方法来扩充它(但是通过category不能添加新的实例变量),并且我们不需要访问类中的代码就可以做到。Objective-C中的协议是普遍存在的接口定义方式,即在一个类中通过@protocol定义接口,在另外类中实现接口,这种接口定义方式也成为“... 阅读全文
posted @ 2015-01-04 12:20 L了个J 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 前面我们讨论了Runtime中对类和对象的处理,及对成员变量与属性的处理。这一章,我们就要开始讨论Runtime中最有意思的一部分:消息处理机制。我们将详细讨论消息的发送及消息的转发。不过在讨论消息之前,我们先来了解一下与方法相关的一些内容。基础数据类型SELSEL又叫选择器,是表示一个方法的sel... 阅读全文
posted @ 2015-01-04 12:19 L了个J 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 在前面一篇文章中,我们介绍了Runtime中与类和对象相关的内容,从这章开始,我们将讨论类实现细节相关的内容,主要包括类中成员变量,属性,方法,协议与分类的实现。本章的主要内容将聚集在Runtime对成员变量与属性的处理。在讨论之前,我们先介绍一个重要的概念:类型编码。类型编码(Type Encod... 阅读全文
posted @ 2015-01-04 12:18 L了个J 阅读(219) 评论(0) 推荐(0) 编辑
摘要: Objective-C语言是一门动态语言,它将很多静态语言在编译和链接时期做的事放到了运行时来处理。这种动态语言的优势在于:我们写代码时能够更具灵活性,如我们可以把消息转发给我们想要的对象,或者随意交换一个方法的实现等。这种特性意味着Objective-C不仅需要一个编译器,还需要一个运行时系统来执... 阅读全文
posted @ 2015-01-04 12:15 L了个J 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 最近在找工作,Objective-C中的Runtime是经常被问到的一个问题,几乎是面试大公司必问的一个问题。当然还有一些其他问题也几乎必问,例 如:RunLoop,Block,内存管理等。其他的问题如果有机会我会在其他文章中介绍。本篇文章主要介绍RunTime。RunTime简称运行时。就是系统在... 阅读全文
posted @ 2015-01-04 12:05 L了个J 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 前言:在iOS开发中,有时候想改一下项目的名字,都会遇到很多麻烦。直接改项目名吧,XCODE又不会帮你改所有的名字。总是有很多文件、文件夹或者是项目设置的项。而且都是不能随便改的,有时候改着改着,编译不了。所以各位重命名项目时,记得先备份好一份噢。本文我会介绍一种方法,是我自己参考了很多资料得出的总... 阅读全文
posted @ 2015-01-04 11:50 L了个J 阅读(180) 评论(0) 推荐(0) 编辑