关闭

数据持久化之FMDB--基本使用

在iOS开发中数据存储较多数据首先想到的要算数据库。sqlite是一个轻量级、跨平台的小型数据库,其拥有可移植性高、有着和MySql几乎相同的数据库语句以及无需服务器即可使用的优点:一、可以存储大量的数据,存储和检索的速度非常快;二、能对数据进行大量的聚合,这样比起使用对象来进行这些操作要快。当然,它也具有明显的缺点:一、它没有提供数据库的创建方式;二、它基于C语言框架设计,没有面向对象的API,...
阅读(207) 评论(0)

Objective-C Runtime 运行时之六:拾遗

前面几篇基本介绍了runtime中的大部分功能,包括对类与对象、成员变量与属性、方法与消息、分类与协议的处理。runtime大部分的功能都是围绕这几点来实现的。 本章的内容并不算重点,主要针对前文中对Objective-C Runtime Reference内容遗漏的地方做些补充。当然这并不能包含所有的内容。runtime还有许多内容,需要读者去研究发现。 super 在...
阅读(71) 评论(0)

Objective-C Runtime 运行时之五:协议与分类

Objective-C中的分类允许我们通过给一个类添加方法来扩充它(但是通过category不能添加新的实例变量),并且我们不需要访问类中的代码就可以做到。 Objective-C中的协议是普遍存在的接口定义方式,即在一个类中通过@protocol定义接口,在另外类中实现接口,这种接口定义方式也成为“delegation”模式,@protocol声明了可以呗其他任何方法类实现的方法,协议仅仅...
阅读(71) 评论(0)

Objective-C Runtime 运行时之四:Method Swizzling

在上周associated objects一文中,我们开始探索Objective-C运行时的一些黑魔法。本周我们继续前行,来讨论可能是最受争议的运行时技术:method swizzling。   Method swizzling指的是改变一个已存在的选择器对应的实现的过程,它依赖于Objectvie-C中方法的调用能够在运行时进改变——通过改变类的调度表(dispatch table)...
阅读(76) 评论(0)

Objective-C Runtime 运行时之三:方法与消息

前面我们讨论了Runtime中对类和对象的处理,及对成员变量与属性的处理。这一章,我们就要开始讨论Runtime中最有意思的一部分:消息处理机制。我们将详细讨论消息的发送及消息的转发。不过在讨论消息之前,我们先来了解一下与方法相关的一些内容。 基础数据类型 SEL SEL又叫选择器,是表示一个方法的selector的指针,其定义如下: 1 ...
阅读(91) 评论(0)

Objective-C Runtime 运行时之二:成员变量与属性

在前面一篇文章中,我们介绍了Runtime中与类和对象相关的内容,从这章开始,我们将讨论类实现细节相关的内容,主要包括类中成员变量,属性,方法,协议与分类的实现。 本章的主要内容将聚集在Runtime对成员变量与属性的处理。在讨论之前,我们先介绍一个重要的概念:类型编码。 类型编码(Type Encoding) 作为对Runtime的补充,编译器将每个方法的返回值和参数类型编...
阅读(92) 评论(0)

Objective-C Runtime 运行时之一:类与对象

Objective-C语言是一门动态语言,它将很多静态语言在编译和链接时期做的事放到了运行时来处理。这种动态语言的优势在于:我们写代码时能够更具灵活性,如我们可以把消息转发给我们想要的对象,或者随意交换一个方法的实现等。 这种特性意味着Objective-C不仅需要一个编译器,还需要一个运行时系统来执行编译的代码。对于Objective-C来说,这个运行时系统就像一个操作系统一样:它...
阅读(50) 评论(0)
    个人资料
    • 访问:661次
    • 积分:24
    • 等级:
    • 排名:千里之外
    • 原创:1篇
    • 转载:6篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档