代码改变世界

随笔档案-2013年01月

什么是OpenGL中的深度、深度缓存、深度测试?

2013-01-31 17:24 by 三戒1993, 144 阅读, 收藏, 编辑
摘要: 1)直观理解深度其实就是该象素点在3d世界中距离摄象机的距离,深度缓存中存储着每个象素点(绘制在屏幕上的)的深度值!深度测试决定了是否绘制较远的象素点(或较近的象素点),通常选用较近的,而较远优先能实现透视的效果!!!2)Z值(深度值)、Z buffer(深度缓存) 下面先讲讲Z坐标。Z坐标和X、Y... 阅读全文

什么是OpenGL中的深度、深度缓存、深度测试?

2013-01-31 17:24 by 三戒1993, 104 阅读, 收藏, 编辑
摘要: 1)直观理解深度其实就是该象素点在3d世界中距离摄象机的距离,深度缓存中存储着每个象素点(绘制在屏幕上的)的深度值!深度测试决定了是否绘制较远的象素点(或较近的象素点),通常选用较近的,而较远优先能实现透视的效果!!!2)Z值(深度值)、Z buffer(深度缓存) 下面先讲讲Z坐标。Z坐标和X、Y... 阅读全文

malloc 和 calloc的区别?

2013-01-31 11:27 by 三戒1993, 152 阅读, 收藏, 编辑
摘要: 函数malloc()和calloc()都可以用来动态分配内存空间,但两者稍有区别。malloc()函数有一个参数,即要分配的内存空间的大小:void *malloc(size_t size);calloc()函数有两个参数,分别为元素的数目和每个元素的大小,这两个参数的乘积就是要分配的内存空间的大小... 阅读全文

malloc 和 calloc的区别?

2013-01-31 11:27 by 三戒1993, 270 阅读, 收藏, 编辑
摘要: 函数malloc()和calloc()都可以用来动态分配内存空间,但两者稍有区别。malloc()函数有一个参数,即要分配的内存空间的大小:void *malloc(size_t size);calloc()函数有两个参数,分别为元素的数目和每个元素的大小,这两个参数的乘积就是要分配的内存空间的大小... 阅读全文

Xcode 每次断点都会进入汇编

2013-01-27 17:36 by 三戒1993, 185 阅读, 收藏, 编辑
摘要: Xcode 4.2断点 中断不正常。每次断点都会进入汇编。问题描述:我在我的代码行设置一个断点,进行debug,每次debug断点无法正常断到我设置断点的代码行上,而是直接进入了汇编代码。解决:products->debugWorkflow->最后一个勾去掉 ... 阅读全文

Xcode 每次断点都会进入汇编

2013-01-27 17:36 by 三戒1993, 248 阅读, 收藏, 编辑
摘要: Xcode 4.2断点 中断不正常。每次断点都会进入汇编。问题描述:我在我的代码行设置一个断点,进行debug,每次debug断点无法正常断到我设置断点的代码行上,而是直接进入了汇编代码。解决:products->debugWorkflow->最后一个勾去掉 ... 阅读全文

关于图片拉伸的几种方法总结

2013-01-25 12:47 by 三戒1993, 213 阅读, 收藏, 编辑
摘要: 系统至ios6之后,关于图片拉伸的方法已经扩展至3个函数:1.ios4提供的方法:- (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight这个函... 阅读全文

关于图片拉伸的几种方法总结

2013-01-25 12:47 by 三戒1993, 290 阅读, 收藏, 编辑
摘要: 系统至ios6之后,关于图片拉伸的方法已经扩展至3个函数:1.ios4提供的方法:- (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight这个函... 阅读全文

查找 EXC_BAD_ACCESS 问题根源的方法

2013-01-25 00:14 by 三戒1993, 117 阅读, 收藏, 编辑
摘要: 写程序遇到 Bug 并不可怕,大部分的问题,通过简单的 Log 或者 代码分析并不难找到原因所在。但是在 Objective-C 编程中遇到 EXC_BAD_ACCESS 问题的时候,通过简单常规的手段很难发现问题。 写程序遇到 Bug 并不可怕,大部分的问题,通过简单的 Log 或者 代码分析并不... 阅读全文

查找 EXC_BAD_ACCESS 问题根源的方法

2013-01-25 00:14 by 三戒1993, 95 阅读, 收藏, 编辑
摘要: 写程序遇到 Bug 并不可怕,大部分的问题,通过简单的 Log 或者 代码分析并不难找到原因所在。但是在 Objective-C 编程中遇到 EXC_BAD_ACCESS 问题的时候,通过简单常规的手段很难发现问题。 写程序遇到 Bug 并不可怕,大部分的问题,通过简单的 Log 或者 代码分析并不... 阅读全文

objective-c 中随机数的用法 (3种:arc4random() 、random()、CCRANDOM_0_1() )

2013-01-24 13:48 by 三戒1993, 124 阅读, 收藏, 编辑
摘要: 1、随机数的使用1)、arc4random() 比较精确不需要生成随即种子 使用方法 : 通过arc4random() 获取0到x-1之间的整数的代码如下: intvalue=arc4random()%x; 获取1到x之间的整数的代码如下: intvalue=(arc4random()%x)+1; ... 阅读全文

objective-c 中随机数的用法 (3种:arc4random() 、random()、CCRANDOM_0_1() )

2013-01-24 13:48 by 三戒1993, 104 阅读, 收藏, 编辑
摘要: 1、随机数的使用1)、arc4random() 比较精确不需要生成随即种子 使用方法 : 通过arc4random() 获取0到x-1之间的整数的代码如下: intvalue=arc4random()%x; 获取1到x之间的整数的代码如下: intvalue=(arc4random()%x)+1; ... 阅读全文

Reachability(判断网络是否连接)

2013-01-24 09:36 by 三戒1993, 127 阅读, 收藏, 编辑
摘要: 类似于一个网络状况的探针。 [[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(reachabilityChanged:) name: kReachabilityChangedNotificatio... 阅读全文

Reachability(判断网络是否连接)

2013-01-24 09:36 by 三戒1993, 118 阅读, 收藏, 编辑
摘要: 类似于一个网络状况的探针。 [[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(reachabilityChanged:) name: kReachabilityChangedNotificatio... 阅读全文

iOS运行回路(RunLoop)总结

2013-01-23 17:18 by 三戒1993, 106 阅读, 收藏, 编辑
摘要: 首先看两个runloop的示例,来源:http://paste.lisp.org/display/86524第一个:#includestaticvoid_perform(void*info__unused){printf("hello\n");}staticvoid_timer(CFRunLoopT... 阅读全文

iOS运行回路(RunLoop)总结

2013-01-23 17:18 by 三戒1993, 170 阅读, 收藏, 编辑
摘要: 首先看两个runloop的示例,来源:http://paste.lisp.org/display/86524第一个:#includestaticvoid_perform(void*info__unused){printf("hello\n");}staticvoid_timer(CFRunLoopT... 阅读全文

CoreData z_pk z_ent z_opt

2013-01-22 15:49 by 三戒1993, 148 阅读, 收藏, 编辑
摘要: CoreDataZ_PK 是表的主键,从1开始递增,唯一值Z_ENT 表在xcdatamodel 中的索引值,创建了5个表,Z_ENT的区间就是[1,5 ]Z_OPT 表示的是每条数据被操作的次数,初始化值为1,只要是增删改查都会加1 ... 阅读全文

CoreData z_pk z_ent z_opt

2013-01-22 15:49 by 三戒1993, 229 阅读, 收藏, 编辑
摘要: CoreDataZ_PK 是表的主键,从1开始递增,唯一值Z_ENT 表在xcdatamodel 中的索引值,创建了5个表,Z_ENT的区间就是[1,5 ]Z_OPT 表示的是每条数据被操作的次数,初始化值为1,只要是增删改查都会加1 ... 阅读全文

iphone core data 基础操作

2013-01-22 14:51 by 三戒1993, 84 阅读, 收藏, 编辑
摘要: 1. 插入AppDelegate *app = [[UIApplication sharedApplication] delegate];NSManagedObjectContext *context = [app managedObjectContext];NSManagedObject *new... 阅读全文

iphone core data 基础操作

2013-01-22 14:51 by 三戒1993, 105 阅读, 收藏, 编辑
摘要: 1. 插入AppDelegate *app = [[UIApplication sharedApplication] delegate];NSManagedObjectContext *context = [app managedObjectContext];NSManagedObject *new... 阅读全文

使用CoreData的轻量级自动数据迁移

2013-01-22 14:45 by 三戒1993, 108 阅读, 收藏, 编辑
摘要: 使用IOS的CoreData进行存储很方便,CoreData已经帮我们做了很多基础的工作,一般情况下没必要自己操作数据库了。在开发中修改了实体模型,可能会遇到schema incompatibility的错误,这是因为修改了数据结构,要进行数据迁移。其实很多简单的情况,不用这么麻烦,Coredata... 阅读全文

使用CoreData的轻量级自动数据迁移

2013-01-22 14:45 by 三戒1993, 81 阅读, 收藏, 编辑
摘要: 使用IOS的CoreData进行存储很方便,CoreData已经帮我们做了很多基础的工作,一般情况下没必要自己操作数据库了。在开发中修改了实体模型,可能会遇到schema incompatibility的错误,这是因为修改了数据结构,要进行数据迁移。其实很多简单的情况,不用这么麻烦,Coredata... 阅读全文

Core Data 编程指南

2013-01-22 11:11 by 三戒1993, 102 阅读, 收藏, 编辑
摘要: 一、技术概览 1. Core Data 功能初窥 对于处理诸如对象生命周期管理、对象图管理等日常任务,Core Data框架提供了广泛且自动化的解决方案。它有以下特性。 (注:对象图-Object graph的解一、技术概览1. Core Data 功能初窥 对于处理诸如对象生命周期管理、对象图管理... 阅读全文

Core Data 编程指南

2013-01-22 11:11 by 三戒1993, 96 阅读, 收藏, 编辑
摘要: 一、技术概览 1. Core Data 功能初窥 对于处理诸如对象生命周期管理、对象图管理等日常任务,Core Data框架提供了广泛且自动化的解决方案。它有以下特性。 (注:对象图-Object graph的解一、技术概览1. Core Data 功能初窥 对于处理诸如对象生命周期管理、对象图管理... 阅读全文

CoreData 的自动平滑升级(Automatic Lightweight Migration)

2013-01-22 10:59 by 三戒1993, 93 阅读, 收藏, 编辑
摘要: 就简单说几句这个好了,其实也很简单在IOS 应用中如果有个entities :table1 有两个字段:id ,name ,并且app 已经发布了如果现在table1 需要变更成table 2 有三个字段:id,name,sex. 如何在app更新的时候保证之前core data中的数据可用呢?创建... 阅读全文

CoreData 的自动平滑升级(Automatic Lightweight Migration)

2013-01-22 10:59 by 三戒1993, 136 阅读, 收藏, 编辑
摘要: 就简单说几句这个好了,其实也很简单在IOS 应用中如果有个entities :table1 有两个字段:id ,name ,并且app 已经发布了如果现在table1 需要变更成table 2 有三个字段:id,name,sex. 如何在app更新的时候保证之前core data中的数据可用呢?创建... 阅读全文

使用coredata导致的版本更新后程序crash的问题

2013-01-22 10:33 by 三戒1993, 123 阅读, 收藏, 编辑
摘要: 在错误收集中有这么一个问题:我使用的xmpp框架,在调整为适应ios5的版本后出现一个导致程序crash问题。但是原来的xmpp代码没有改变,那么问题在哪呢?报错如下:[cpp]view plaincopyBUG监听报告:手机型号:iPhoneOS,版本:4.1程序名称:Dating,版本... 阅读全文

使用coredata导致的版本更新后程序crash的问题

2013-01-22 10:33 by 三戒1993, 207 阅读, 收藏, 编辑
摘要: 在错误收集中有这么一个问题:我使用的xmpp框架,在调整为适应ios5的版本后出现一个导致程序crash问题。但是原来的xmpp代码没有改变,那么问题在哪呢?报错如下:[cpp]view plaincopyBUG监听报告:手机型号:iPhoneOS,版本:4.1程序名称:Dating,版本... 阅读全文

iphone开发之数据库CoreData

2013-01-22 09:59 by 三戒1993, 102 阅读, 收藏, 编辑
摘要: CoreData介绍在Cocoa环境下,如果你想使用数据库(如sqlite),你可以使用sql语句的方式通过相关的工具类进行数据库的直接操作。当然你也可以通过别人封装之后的一些简单框架,使得你的操作更加简单(如FMDBBNRPersistence)。Cocoa框架本身提供了CoreData这个API... 阅读全文

GCD实战2:资源竞争

2013-01-21 15:20 by 三戒1993, 97 阅读, 收藏, 编辑
摘要: 概述我将分四步来带大家研究研究程序的并发计算。第一步是基本的串行程序,然后使用GCD把它并行计算化。如果你想顺着步骤来尝试这些程序的话,可以下载源码。注意,别运行imagegcd2.m,这是个反面教材。。imagegcd.zip(8.4 KB, 108 次)原始程序我们的程序只是简单地遍历~/Pic... 阅读全文

GCD实战2:资源竞争

2013-01-21 15:20 by 三戒1993, 113 阅读, 收藏, 编辑
摘要: 概述我将分四步来带大家研究研究程序的并发计算。第一步是基本的串行程序,然后使用GCD把它并行计算化。如果你想顺着步骤来尝试这些程序的话,可以下载源码。注意,别运行imagegcd2.m,这是个反面教材。。imagegcd.zip(8.4 KB, 108 次)原始程序我们的程序只是简单地遍历~/Pic... 阅读全文

GCD实战一:使用串行队列实现简单的预加载

2013-01-21 14:56 by 三戒1993, 104 阅读, 收藏, 编辑
摘要: 其主要思路是使用gcd创建串行队列,然后在此队列中先后执行两个任务:1.预加载一个viewController 2.将这个viewController推入代码如下:@implementation DWAppDelegate{ dispatch_queue_t _serialQueue; ... 阅读全文

GCD实战一:使用串行队列实现简单的预加载

2013-01-21 14:56 by 三戒1993, 117 阅读, 收藏, 编辑
摘要: 其主要思路是使用gcd创建串行队列,然后在此队列中先后执行两个任务:1.预加载一个viewController 2.将这个viewController推入代码如下:@implementation DWAppDelegate{ dispatch_queue_t _serialQueue; ... 阅读全文

GCD介绍(四): 完结

2013-01-21 14:47 by 三戒1993, 84 阅读, 收藏, 编辑
摘要: Dispatch Queue挂起dispatch queue可以被挂起和恢复。使用dispatch_suspend函数来挂起,使用 dispatch_resume函数来恢复。这两个函数的行为是如你所愿的。另外,这两个还是也可以用于dispatch source。一个要注意的地方是,dispatch ... 阅读全文

GCD介绍(四): 完结

2013-01-21 14:47 by 三戒1993, 188 阅读, 收藏, 编辑
摘要: Dispatch Queue挂起dispatch queue可以被挂起和恢复。使用dispatch_suspend函数来挂起,使用 dispatch_resume函数来恢复。这两个函数的行为是如你所愿的。另外,这两个还是也可以用于dispatch source。一个要注意的地方是,dispatch ... 阅读全文

GCD介绍(三): Dispatch Sources

2013-01-21 14:14 by 三戒1993, 151 阅读, 收藏, 编辑
摘要: 何为Dispatch Sources简单来说,dispatch source是一个监视某些类型事件的对象。当这些事件发生时,它自动将一个block放入一个dispatch queue的执行例程中。说的貌似有点不清不楚。我们到底讨论哪些事件类型?下面是GCD 10.6.0版本支持的事件:Mach po... 阅读全文

GCD介绍(三): Dispatch Sources

2013-01-21 14:14 by 三戒1993, 94 阅读, 收藏, 编辑
摘要: 何为Dispatch Sources简单来说,dispatch source是一个监视某些类型事件的对象。当这些事件发生时,它自动将一个block放入一个dispatch queue的执行例程中。说的貌似有点不清不楚。我们到底讨论哪些事件类型?下面是GCD 10.6.0版本支持的事件:Mach po... 阅读全文

Objective-c 中 nil, Nil, NULL和NSNull的区别

2013-01-21 11:21 by 三戒1993, 155 阅读, 收藏, 编辑
摘要: nil:A null pointer to an Objective-Cobject.( #define nil ((id)0) )Nil: A null pointer to an Objective-Cclass.NULL: A null pointer to anything else, is... 阅读全文

Objective-c 中 nil, Nil, NULL和NSNull的区别

2013-01-21 11:21 by 三戒1993, 129 阅读, 收藏, 编辑
摘要: nil:A null pointer to an Objective-Cobject.( #define nil ((id)0) )Nil: A null pointer to an Objective-Cclass.NULL: A null pointer to anything else, is... 阅读全文

GCD介绍(二): 多核心的性能

2013-01-21 10:07 by 三戒1993, 116 阅读, 收藏, 编辑
摘要: 概念为了在单一进程中充分发挥多核的优势,我们有必要使用多线程技术(我们没必要去提多进程,这玩意儿和GCD没关系)。在低层,GCD全局dispatch queue仅仅是工作线程池的抽象。这些队列中的Block一旦可用,就会被dispatch到工作线程中。提交至用户队列的Block最终也会通过全局队列进... 阅读全文

GCD介绍(一): 基本概念和Dispatch Queue

2013-01-21 09:55 by 三戒1993, 109 阅读, 收藏, 编辑
摘要: 什么是GCD?Grand Central Dispatch或者GCD,是一套低层API,提供了一种新的方法来进行并发程序编写。从基本功能上讲,GCD有点像NSOperationQueue,他们都允许程序将任务切分为多个单一任务然后提交至工作队列来并发地或者串行地执行。GCD比之NSOpertionQ... 阅读全文

GCD介绍(一): 基本概念和Dispatch Queue

2013-01-21 09:55 by 三戒1993, 180 阅读, 收藏, 编辑
摘要: 什么是GCD?Grand Central Dispatch或者GCD,是一套低层API,提供了一种新的方法来进行并发程序编写。从基本功能上讲,GCD有点像NSOperationQueue,他们都允许程序将任务切分为多个单一任务然后提交至工作队列来并发地或者串行地执行。GCD比之NSOpertionQ... 阅读全文

CoreData 自定义数据类型

2013-01-21 09:47 by 三戒1993, 295 阅读, 收藏, 编辑
摘要: 在coredata中,entity中attribute的类型只有固定的几种可选。如下图:有没有方法扩展类型呢?方法当然是有的。原理是把要存类型转化为二进制的方式存在数据库中。 比如我们要想直接存放UIImage到数据库,如何做?首先,在coredata中新建的attribute中类形选择Transf... 阅读全文

NSFetchedResultsController和UITableView显示CoreData的数据时用relationship分组的方 ...

2013-01-18 18:06 by 三戒1993, 100 阅读, 收藏, 编辑
摘要: 使用NSFetchedResultsController和UITableView显示CoreData的数据时,如果用relationship作为分组的关键字。比如Contact和Group两个实例如下图:在显示的时候,创建NSFetchedResultsController[代码]c#/cpp/oc... 阅读全文

NSFetchedResultsController和UITableView显示CoreData的数据时用relationship分组的方 ...

2013-01-18 18:06 by 三戒1993, 112 阅读, 收藏, 编辑
摘要: 使用NSFetchedResultsController和UITableView显示CoreData的数据时,如果用relationship作为分组的关键字。比如Contact和Group两个实例如下图:在显示的时候,创建NSFetchedResultsController[代码]c#/cpp/oc... 阅读全文

coredata 最简单例子

2013-01-18 17:56 by 三戒1993, 107 阅读, 收藏, 编辑
摘要: 先按照网上的教程,建一个简单的带coredata的项目再添加一个UserInfo对象(表)(按照网上的教材,可视化方式添加)然后在AppDelegate.m中按如下修改,(只添加了4个方法)然后运行,看控制台日志-(BOOL)application:(UIApplication*)applicati... 阅读全文

coredata 最简单例子

2013-01-18 17:56 by 三戒1993, 137 阅读, 收藏, 编辑
摘要: 先按照网上的教程,建一个简单的带coredata的项目再添加一个UserInfo对象(表)(按照网上的教材,可视化方式添加)然后在AppDelegate.m中按如下修改,(只添加了4个方法)然后运行,看控制台日志-(BOOL)application:(UIApplication*)applicati... 阅读全文

CoreData Z_PK

2013-01-18 17:52 by 三戒1993, 117 阅读, 收藏, 编辑
摘要: 并非严格的说,CoreData是对sqlite数据库的一个封装.sqlite数据库操作的基本流程是, 创建数据库, 再通过定义一些字段来定义表格结构, 可以利用sql语句向表格中插入记录, 删除记录, 修改记录, 表格之间也可以建立联系.这个过程出现了, 表格的结构(schema), 所有表格的结构... 阅读全文

CoreData Z_PK

2013-01-18 17:52 by 三戒1993, 235 阅读, 收藏, 编辑
摘要: 并非严格的说,CoreData是对sqlite数据库的一个封装.sqlite数据库操作的基本流程是, 创建数据库, 再通过定义一些字段来定义表格结构, 可以利用sql语句向表格中插入记录, 删除记录, 修改记录, 表格之间也可以建立联系.这个过程出现了, 表格的结构(schema), 所有表格的结构... 阅读全文

ASINetworkQueue使用cancelAllOperations方法来取消下载时使用的注意点

2013-01-18 15:11 by 三戒1993, 134 阅读, 收藏, 编辑
摘要: 在 ASIHTTPRequest V1.7前提下正确使用: imgDataDownLoadQueue = [[ASINetworkQueue alloc] init]; [imgDataDownLoadQueue setShouldCancelAllRequestsOnFailure:NO]; [i... 阅读全文

ASINetworkQueue使用cancelAllOperations方法来取消下载时使用的注意点

2013-01-18 15:11 by 三戒1993, 111 阅读, 收藏, 编辑
摘要: 在 ASIHTTPRequest V1.7前提下正确使用: imgDataDownLoadQueue = [[ASINetworkQueue alloc] init]; [imgDataDownLoadQueue setShouldCancelAllRequestsOnFailure:NO]; [i... 阅读全文

iPhone开发下载网络数据的几种方法总结

2013-01-18 12:14 by 三戒1993, 117 阅读, 收藏, 编辑
摘要: 1 使用NSURLConnection的同步方法下载view sourceprint?01.NSString *urlAsString = @"http://www.jouhu.com/json/info.zip";---要下载的全路径名02.NSURL *url = [NSURL URLWithS... 阅读全文

iPhone开发下载网络数据的几种方法总结

2013-01-18 12:14 by 三戒1993, 122 阅读, 收藏, 编辑
摘要: 1 使用NSURLConnection的同步方法下载view sourceprint?01.NSString *urlAsString = @"http://www.jouhu.com/json/info.zip";---要下载的全路径名02.NSURL *url = [NSURL URLWithS... 阅读全文

从 Objective-C 里的 Alloc 和 AllocWithZone 谈起

2013-01-18 11:03 by 三戒1993, 89 阅读, 收藏, 编辑
摘要: 第一次写ObjC的文章,请多多指教,我的博客:http://justinyan.me一、问题起源一切起源于Apple官方文档里面关于单例(Singleton)的示范代码:Creating a Singleton Instance.主要的争议集中在下面这一段:?1234567891011121314s... 阅读全文

从 Objective-C 里的 Alloc 和 AllocWithZone 谈起

2013-01-18 11:03 by 三戒1993, 89 阅读, 收藏, 编辑
摘要: 第一次写ObjC的文章,请多多指教,我的博客:http://justinyan.me一、问题起源一切起源于Apple官方文档里面关于单例(Singleton)的示范代码:Creating a Singleton Instance.主要的争议集中在下面这一段:?1234567891011121314s... 阅读全文

Objective-C中单例模式的实现

2013-01-18 10:28 by 三戒1993, 146 阅读, 收藏, 编辑
摘要: http://cocoa.venj.me/blog/singleton-in-objc/单例模式在Cocoa和Cocoa Touch中非常常见。比如这两个,[UIApplication sharedApplication]和[NSApplication sharedApplication],大家应该... 阅读全文

Objective-C中单例模式的实现

2013-01-18 10:28 by 三戒1993, 109 阅读, 收藏, 编辑
摘要: http://cocoa.venj.me/blog/singleton-in-objc/单例模式在Cocoa和Cocoa Touch中非常常见。比如这两个,[UIApplication sharedApplication]和[NSApplication sharedApplication],大家应该... 阅读全文

allocwithzone

2013-01-18 10:21 by 三戒1993, 95 阅读, 收藏, 编辑
摘要: 首 先,从copy开始说,简而言之,copy的目的就是生成一个新的实例,然后把其成员都按原实例赋值。对于非指针型的成员,比如BOOL, int, float,这样的赋值可以直接进行。但是对于指针型的数据,比如Objc中用到的对象,就有Deep Copy和Shallow Copy的区别——这个和在C+... 阅读全文

allocwithzone

2013-01-18 10:21 by 三戒1993, 96 阅读, 收藏, 编辑
摘要: 首 先,从copy开始说,简而言之,copy的目的就是生成一个新的实例,然后把其成员都按原实例赋值。对于非指针型的成员,比如BOOL, int, float,这样的赋值可以直接进行。但是对于指针型的数据,比如Objc中用到的对象,就有Deep Copy和Shallow Copy的区别——这个和在C+... 阅读全文

利用dispatch_once创建单例

2013-01-18 10:12 by 三戒1993, 98 阅读, 收藏, 编辑
摘要: 原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处、作者信息和本声明。否则将追究法律责任。http://bj007.blog.51cto.com/1701577/649413 无论是爱还是恨,你都需要单例。实际上每个iOS或Mac OS应用都至少会有UIApplication或NSAppl... 阅读全文

利用dispatch_once创建单例

2013-01-18 10:12 by 三戒1993, 117 阅读, 收藏, 编辑
摘要: 原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处、作者信息和本声明。否则将追究法律责任。http://bj007.blog.51cto.com/1701577/649413 无论是爱还是恨,你都需要单例。实际上每个iOS或Mac OS应用都至少会有UIApplication或NSAppl... 阅读全文

CMYK

2013-01-17 16:26 by 三戒1993, 848 阅读, 收藏, 编辑
摘要: 百科名片CMYKCMYK也称作印刷色彩模式,是一种依靠反光的色彩模式,和RGB类似,CMY是3种印刷油墨名称的首字母:青色Cyan、品红色Magenta、黄色Yellow。而K取的是black最后一个字母,之所以不取首字母,是为了避免与蓝色(Blue)混淆。从理论上来说,只需要CMY三种油墨就足够了... 阅读全文

CMYK

2013-01-17 16:26 by 三戒1993, 751 阅读, 收藏, 编辑
摘要: 百科名片CMYKCMYK也称作印刷色彩模式,是一种依靠反光的色彩模式,和RGB类似,CMY是3种印刷油墨名称的首字母:青色Cyan、品红色Magenta、黄色Yellow。而K取的是black最后一个字母,之所以不取首字母,是为了避免与蓝色(Blue)混淆。从理论上来说,只需要CMY三种油墨就足够了... 阅读全文

XCode快捷键

2013-01-17 15:11 by 三戒1993, 102 阅读, 收藏, 编辑
摘要: 从雨痕老大的博客上转来的http://www.rainsts.net/article.asp?id=1066读书人偷书不算窃 :)1. 文件CMD + N: 新文件CMD + SHIFT + N: 新项目CMD + O: 打开CMD + S: 保存CMD + SHIFT + S: 另存为CMD + ... 阅读全文

XCode快捷键

2013-01-17 15:11 by 三戒1993, 133 阅读, 收藏, 编辑
摘要: 从雨痕老大的博客上转来的http://www.rainsts.net/article.asp?id=1066读书人偷书不算窃 :)1. 文件CMD + N: 新文件CMD + SHIFT + N: 新项目CMD + O: 打开CMD + S: 保存CMD + SHIFT + S: 另存为CMD + ... 阅读全文

glLoadIdentity()与glTranslatef()和glRotatef()--坐标变换

2013-01-16 16:07 by 三戒1993, 214 阅读, 收藏, 编辑
摘要: glLoadIdentity()将当前的用户坐标系的原点移到了屏幕中心:类似于一个复位操作1.X坐标轴从左至右,Y坐标轴从下至上,Z坐标轴从里至外。2.OpenGL屏幕中心的坐标值是X和Y轴上的0.0f点。3.中心左面的坐标值是负值,右面是正值。 移向屏幕顶端是正值,移向屏幕底端是负值。 移入屏幕深... 阅读全文

glLoadIdentity()与glTranslatef()和glRotatef()--坐标变换

2013-01-16 16:07 by 三戒1993, 132 阅读, 收藏, 编辑
摘要: glLoadIdentity()将当前的用户坐标系的原点移到了屏幕中心:类似于一个复位操作1.X坐标轴从左至右,Y坐标轴从下至上,Z坐标轴从里至外。2.OpenGL屏幕中心的坐标值是X和Y轴上的0.0f点。3.中心左面的坐标值是负值,右面是正值。 移向屏幕顶端是正值,移向屏幕底端是负值。 移入屏幕深... 阅读全文

自定义 UIStoryboardSegue

2013-01-15 11:41 by 三戒1993, 124 阅读, 收藏, 编辑
摘要: http://rocry.com/2013/01/05/custom-segue/使用场景举个栗子:比如我在现在很流行的这种侧边栏是Menu的交互情况下现在的需求就是点左边Menu里面对应的条目可以跳转到相应的ViewController1234567891011121314151617181920... 阅读全文

自定义 UIStoryboardSegue

2013-01-15 11:41 by 三戒1993, 152 阅读, 收藏, 编辑
摘要: http://rocry.com/2013/01/05/custom-segue/使用场景举个栗子:比如我在现在很流行的这种侧边栏是Menu的交互情况下现在的需求就是点左边Menu里面对应的条目可以跳转到相应的ViewController1234567891011121314151617181920... 阅读全文

CALayer 属性doubleSided

2013-01-11 16:15 by 三戒1993, 223 阅读, 收藏, 编辑
摘要: UIView.layer.doubleSided =NO;意思是图层有双面,是否都显示,设置NO意思背面看不到@property(getter=isDoubleSided) BOOL doubleSidedDescriptionDetermines whether the receiver is d... 阅读全文

CALayer 属性doubleSided

2013-01-11 16:15 by 三戒1993, 215 阅读, 收藏, 编辑
摘要: UIView.layer.doubleSided =NO;意思是图层有双面,是否都显示,设置NO意思背面看不到@property(getter=isDoubleSided) BOOL doubleSidedDescriptionDetermines whether the receiver is d... 阅读全文

libxml/tree.h no such file or directory

2013-01-10 15:25 by 三戒1993, 174 阅读, 收藏, 编辑
摘要: Works for me. Remember to add the library in Link Binary en Build Phases Section of the target project.You need to put all the libxml headers on the i... 阅读全文

libxml/tree.h no such file or directory

2013-01-10 15:25 by 三戒1993, 410 阅读, 收藏, 编辑
摘要: Works for me. Remember to add the library in Link Binary en Build Phases Section of the target project.You need to put all the libxml headers on the i... 阅读全文

Android仿真翻页

2013-01-09 12:27 by 三戒1993, 429 阅读, 收藏, 编辑
摘要: 前言Android仿真翻页效果有2种操作模式,一种是手势点击之后直接翻页,另外一种是跟随手势翻页.前面一种实现方式很多,例如可以利用,利用触摸屏的Fling、Scroll等Gesture操作来操作.另外还有利用ViewFlipper以及翻页动画是模仿真实的翻页效果.本文结合网络资料笼统介绍跟随手势翻... 阅读全文

Android仿真翻页

2013-01-09 12:27 by 三戒1993, 442 阅读, 收藏, 编辑
摘要: 前言Android仿真翻页效果有2种操作模式,一种是手势点击之后直接翻页,另外一种是跟随手势翻页.前面一种实现方式很多,例如可以利用,利用触摸屏的Fling、Scroll等Gesture操作来操作.另外还有利用ViewFlipper以及翻页动画是模仿真实的翻页效果.本文结合网络资料笼统介绍跟随手势翻... 阅读全文

Chaikin Curve(球面插值)

2013-01-09 12:24 by 三戒1993, 125 阅读, 收藏, 编辑
摘要: http://www.cnblogs.com/hongru/archive/2011/10/27/2226946.html在两条折线间完成平滑的过渡是 用画布做UI 或者做类似地图编辑器一类的工作的 很常见的任务。怎么样化方为圆是决定工作效率的很重要的因素。(当需要编辑的曲线多起来, 复杂起来的时候... 阅读全文

Chaikin Curve(球面插值)

2013-01-09 12:24 by 三戒1993, 168 阅读, 收藏, 编辑
摘要: http://www.cnblogs.com/hongru/archive/2011/10/27/2226946.html在两条折线间完成平滑的过渡是 用画布做UI 或者做类似地图编辑器一类的工作的 很常见的任务。怎么样化方为圆是决定工作效率的很重要的因素。(当需要编辑的曲线多起来, 复杂起来的时候... 阅读全文

翻页特效原理

2013-01-09 11:40 by 三戒1993, 261 阅读, 收藏, 编辑
摘要: http://www.open-open.com/lib/view/1326265166952实现真实的翻页效果,为了能在翻页的过程中看到下一页的内容,在翻页之前必须准备两张页面,一张是当前页,另一张是下一页。翻页的过程就是对这两张页面的剪切,组合过程。用户看到的可以分为3部分:当前页的可见部分(下... 阅读全文

翻页特效原理

2013-01-09 11:40 by 三戒1993, 340 阅读, 收藏, 编辑
摘要: http://www.open-open.com/lib/view/1326265166952实现真实的翻页效果,为了能在翻页的过程中看到下一页的内容,在翻页之前必须准备两张页面,一张是当前页,另一张是下一页。翻页的过程就是对这两张页面的剪切,组合过程。用户看到的可以分为3部分:当前页的可见部分(下... 阅读全文

Bezier曲线原理及实现代码(c++)

2013-01-09 11:28 by 三戒1993, 246 阅读, 收藏, 编辑
摘要: http://blog.163.com/my_appy@126/blog/static/118323971200953061819702/一、原理:贝塞尔曲线于1962年,由法国工程师皮埃尔·贝塞尔(Pierre Bézier)所广泛发表,他运用贝塞尔曲线来为汽车的主体进行设计。贝塞尔曲线最初由Pa... 阅读全文

Bezier曲线原理及实现代码(c++)

2013-01-09 11:28 by 三戒1993, 313 阅读, 收藏, 编辑
摘要: http://blog.163.com/my_appy@126/blog/static/118323971200953061819702/一、原理:贝塞尔曲线于1962年,由法国工程师皮埃尔·贝塞尔(Pierre Bézier)所广泛发表,他运用贝塞尔曲线来为汽车的主体进行设计。贝塞尔曲线最初由Pa... 阅读全文

使用NSRunloop等待异步任务完成

2013-01-09 11:06 by 三戒1993, 102 阅读, 收藏, 编辑
摘要: 本文出自 清风徐来,水波不兴 的博客,转载时请注明出处及相应链接。本文永久链接: http://www.winddisk.com/2012/05/19/%e4%bd%bf%e7%94%a8n/一. 代码及原理[[NSRunLoop currentRunLoop] runMode:NSDefaultR... 阅读全文

使用NSRunloop等待异步任务完成

2013-01-09 11:06 by 三戒1993, 197 阅读, 收藏, 编辑
摘要: 本文出自 清风徐来,水波不兴 的博客,转载时请注明出处及相应链接。本文永久链接: http://www.winddisk.com/2012/05/19/%e4%bd%bf%e7%94%a8n/一. 代码及原理[[NSRunLoop currentRunLoop] runMode:NSDefaultR... 阅读全文

NSRunLoop概述和原理

2013-01-09 10:58 by 三戒1993, 83 阅读, 收藏, 编辑
摘要: 首先讲NSRunLoop之前, 说说timer这个东西:我们把环境都设置在Cocoa中,这里所讲的timer就用NStimer,当然这里的原理适用于其他系统的timer。因为NSTimer是作为一种timerresource加入到NSRunLoop中去,在当timer的时间累计到规定时间之后就触发t... 阅读全文

NSRunLoop概述和原理

2013-01-09 10:58 by 三戒1993, 154 阅读, 收藏, 编辑
摘要: 首先讲NSRunLoop之前, 说说timer这个东西:我们把环境都设置在Cocoa中,这里所讲的timer就用NStimer,当然这里的原理适用于其他系统的timer。因为NSTimer是作为一种timerresource加入到NSRunLoop中去,在当timer的时间累计到规定时间之后就触发t... 阅读全文

iOS 各种布尔值类型讲解

2013-01-09 10:43 by 三戒1993, 119 阅读, 收藏, 编辑
摘要: boolean_t t1 = 1;//int typeBoolean t2 = 1; //unsigned char typeBOOLt3 = 4;//YESorNObool t4 = 1;//true or falseNSAssert(t1, @"boolean_t t1 is NO");//通过... 阅读全文

iOS 各种布尔值类型讲解

2013-01-09 10:43 by 三戒1993, 355 阅读, 收藏, 编辑
摘要: boolean_t t1 = 1;//int typeBoolean t2 = 1; //unsigned char typeBOOLt3 = 4;//YESorNObool t4 = 1;//true or falseNSAssert(t1, @"boolean_t t1 is NO");//通过... 阅读全文

NSRunLoop中Autorelease pool 管理

2013-01-09 10:19 by 三戒1993, 164 阅读, 收藏, 编辑
摘要: http://segmentfault.com/q/1010000000123664iOS的运行时是由一个一个runloop组成的,每个runloop都会执行下图的一些步骤:可以看到,每个runloop中都创建一个Autorelease Pool,并在runloop的末尾进行释放,所以,一般情况下,... 阅读全文

NSRunLoop中Autorelease pool 管理

2013-01-09 10:19 by 三戒1993, 144 阅读, 收藏, 编辑
摘要: http://segmentfault.com/q/1010000000123664iOS的运行时是由一个一个runloop组成的,每个runloop都会执行下图的一些步骤:可以看到,每个runloop中都创建一个Autorelease Pool,并在runloop的末尾进行释放,所以,一般情况下,... 阅读全文

Objective C内存管理进阶(二):理解autorelease

2013-01-09 10:13 by 三戒1993, 128 阅读, 收藏, 编辑
摘要: http://www.cnblogs.com/MobileDevelop/archive/2010/07/19/1779138.html如果你能够真正的理解autorelease, 那么你才是理解了Objective c的内存管理。Autorelease实际上只是把对release的调用延迟了,对于... 阅读全文

Objective C内存管理进阶(二):理解autorelease

2013-01-09 10:13 by 三戒1993, 121 阅读, 收藏, 编辑
摘要: http://www.cnblogs.com/MobileDevelop/archive/2010/07/19/1779138.html如果你能够真正的理解autorelease, 那么你才是理解了Objective c的内存管理。Autorelease实际上只是把对release的调用延迟了,对于... 阅读全文

autorelease对象具体什么时候释放?

2013-01-09 10:06 by 三戒1993, 102 阅读, 收藏, 编辑
摘要: 在项目中,会有一个默认的Autorelease pool,程序开始时创建,程序退出时销毁,按照对Autorelease的理解,岂不是所有autorelease pool里的对象在程序退出时才release, 这样跟内存泄露有什么区别?答案是,对于每一个Runloop, 系统会隐式创建一个Autore... 阅读全文

autorelease对象具体什么时候释放?

2013-01-09 10:06 by 三戒1993, 219 阅读, 收藏, 编辑
摘要: 在项目中,会有一个默认的Autorelease pool,程序开始时创建,程序退出时销毁,按照对Autorelease的理解,岂不是所有autorelease pool里的对象在程序退出时才release, 这样跟内存泄露有什么区别?答案是,对于每一个Runloop, 系统会隐式创建一个Autore... 阅读全文

使用weak property声明Outlet

2013-01-09 09:58 by 三戒1993, 140 阅读, 收藏, 编辑
摘要: 当我们使用 Interface Builder 生成Outlet对象的时候,一般都是作为 subview 来使用的。比如 UIViewController 的view。所以说Outlet的持有者就是superview对象,即有“父子”关系。由上一回iPhone开发之深入浅出 (4) — ARC之循环... 阅读全文

使用weak property声明Outlet

2013-01-09 09:58 by 三戒1993, 85 阅读, 收藏, 编辑
摘要: 当我们使用 Interface Builder 生成Outlet对象的时候,一般都是作为 subview 来使用的。比如 UIViewController 的view。所以说Outlet的持有者就是superview对象,即有“父子”关系。由上一回iPhone开发之深入浅出 (4) — ARC之循环... 阅读全文

iPhone开发之深入浅出 — ARC之对象转型

2013-01-09 09:54 by 三戒1993, 109 阅读, 收藏, 编辑
摘要: http://southking.iteye.com/blog/1487813自 Xcode4.2 开始导入ARC机制后,为了支持对象间的转型,Apple又增加了许多转型用的关键字。这一讲我们就来了解其用法,以及产生的理由。引子我们先来看一下ARC无效的时候,我们写id类型转void*类型的写法:1... 阅读全文

iPhone开发之深入浅出 — ARC之对象转型

2013-01-09 09:54 by 三戒1993, 79 阅读, 收藏, 编辑
摘要: http://southking.iteye.com/blog/1487813自 Xcode4.2 开始导入ARC机制后,为了支持对象间的转型,Apple又增加了许多转型用的关键字。这一讲我们就来了解其用法,以及产生的理由。引子我们先来看一下ARC无效的时候,我们写id类型转void*类型的写法:1... 阅读全文

iPhone开发之 ARC是什么

2013-01-09 09:38 by 三戒1993, 105 阅读, 收藏, 编辑
摘要: ARC是什么 ARC是iOS 5推出的新功能,全称叫 ARC(Automatic Reference Counting)。简单地说,就是代码中自动加入了retain/release,原先需要手动添加的用来处理内存管理的引用计数的代码可以自动地ARC是什么ARC是iOS 5推出的新功能,全称叫 ARC... 阅读全文

iPhone开发之 ARC是什么

2013-01-09 09:38 by 三戒1993, 152 阅读, 收藏, 编辑
摘要: ARC是什么 ARC是iOS 5推出的新功能,全称叫 ARC(Automatic Reference Counting)。简单地说,就是代码中自动加入了retain/release,原先需要手动添加的用来处理内存管理的引用计数的代码可以自动地ARC是什么ARC是iOS 5推出的新功能,全称叫 ARC... 阅读全文

Quartz 2D 裁剪

2013-01-08 16:30 by 三戒1993, 157 阅读, 收藏, 编辑
摘要: 使用Quartz 2D 可以对图片进行裁剪,简单的可以裁剪一个矩形,复杂的可以根据CGPath实现裁剪,也可以使用UIBezierPath进行裁剪,也可以使用一个UIImage做为mask进行裁剪。对于如下图片,不使用裁剪时,显示全部内容使用CGContextClipToRect裁剪矩形,[cpp]... 阅读全文

Quartz 2D 裁剪

2013-01-08 16:30 by 三戒1993, 264 阅读, 收藏, 编辑
摘要: 使用Quartz 2D 可以对图片进行裁剪,简单的可以裁剪一个矩形,复杂的可以根据CGPath实现裁剪,也可以使用UIBezierPath进行裁剪,也可以使用一个UIImage做为mask进行裁剪。对于如下图片,不使用裁剪时,显示全部内容使用CGContextClipToRect裁剪矩形,[cpp]... 阅读全文

Quartz 2D Programming Guide-Transforms

2013-01-08 16:15 by 三戒1993, 115 阅读, 收藏, 编辑
摘要: [1]http://developer.apple.com/library/ios/#documentation/GraphicsImaging/Conceptual/drawingwithquartz2d/dq_affine/dq_affine.html#//apple_ref/doc/uid/T... 阅读全文

Quartz 2D Programming Guide-Transforms

2013-01-08 16:15 by 三戒1993, 123 阅读, 收藏, 编辑
摘要: [1]http://developer.apple.com/library/ios/#documentation/GraphicsImaging/Conceptual/drawingwithquartz2d/dq_affine/dq_affine.html#//apple_ref/doc/uid/T... 阅读全文

Quartz 2D编程指南1-------Quartz 2D概述

2013-01-08 16:14 by 三戒1993, 151 阅读, 收藏, 编辑
摘要: 在IOS中,Quartz 2D像Core Animation,OpenGL ES和UIKit类一样工作于可用的图形和动画技术。1.The Page Quartz 2D使用painter model去imageing。在painter model中,每一个连续的绘制操作都是应用一个paint lay... 阅读全文

Quartz 2D编程指南1-------Quartz 2D概述

2013-01-08 16:14 by 三戒1993, 95 阅读, 收藏, 编辑
摘要: 在IOS中,Quartz 2D像Core Animation,OpenGL ES和UIKit类一样工作于可用的图形和动画技术。1.The Page Quartz 2D使用painter model去imageing。在painter model中,每一个连续的绘制操作都是应用一个paint lay... 阅读全文

iphone CoreGraphic 和 UIKit 坐标系统

2013-01-08 15:44 by 三戒1993, 131 阅读, 收藏, 编辑
摘要: In iOS, all drawing occurs in a graphics context. Conceptually, a graphics context is an object that describeswhere and how drawing should occur, incl... 阅读全文

iphone CoreGraphic 和 UIKit 坐标系统

2013-01-08 15:44 by 三戒1993, 141 阅读, 收藏, 编辑
摘要: In iOS, all drawing occurs in a graphics context. Conceptually, a graphics context is an object that describeswhere and how drawing should occur, incl... 阅读全文

iPhone Application Programming Guide, Ch4

2013-01-08 12:24 by 三戒1993, 101 阅读, 收藏, 编辑
摘要: 【补充说明:部分细节有待验证】iPhone自带的库:quartzcore animationUIKit1. UIKit所有对图形的调用都封装在UIView的实例中;1.1 画图:UIView drawRect第一次画图时,将全图绘制,以后根据实际情况绘制。有以下行为会触发view更新:(1)其他的v... 阅读全文

iPhone Application Programming Guide, Ch4

2013-01-08 12:24 by 三戒1993, 121 阅读, 收藏, 编辑
摘要: 【补充说明:部分细节有待验证】iPhone自带的库:quartzcore animationUIKit1. UIKit所有对图形的调用都封装在UIView的实例中;1.1 画图:UIView drawRect第一次画图时,将全图绘制,以后根据实际情况绘制。有以下行为会触发view更新:(1)其他的v... 阅读全文

iOS 各种坐标系对比

2013-01-08 12:15 by 三戒1993, 135 阅读, 收藏, 编辑
摘要: 使用CGContextDrawImage绘制图片上下颠倒首先要说的是,在iOS的不同framework中使用着不同的坐标系:UIKit - y轴向下Core Graphics(Quartz) - y轴向上OpenGL ES - y轴向上UIKit是iPhone SDK的Cocoa Touch层的核心... 阅读全文

iOS 各种坐标系对比

2013-01-08 12:15 by 三戒1993, 392 阅读, 收藏, 编辑
摘要: 使用CGContextDrawImage绘制图片上下颠倒首先要说的是,在iOS的不同framework中使用着不同的坐标系:UIKit - y轴向下Core Graphics(Quartz) - y轴向上OpenGL ES - y轴向上UIKit是iPhone SDK的Cocoa Touch层的核心... 阅读全文

自动引用技术ARC

2013-01-07 18:10 by 三戒1993, 150 阅读, 收藏, 编辑
摘要: 自动引用计数(ARC),是一项为Objective - C程序在编译时提供自动内存管理的功能。ARC可以让你把注意力集中在你感兴趣的代码,对象图,和你的应用程序中的对象之间的关系,让你不必再花费精力在retain和release操作上。正如下图所示,ARC可以减少开发中的内存管理步骤,简化开发。Co... 阅读全文

自动引用技术ARC

2013-01-07 18:10 by 三戒1993, 172 阅读, 收藏, 编辑
摘要: 自动引用计数(ARC),是一项为Objective - C程序在编译时提供自动内存管理的功能。ARC可以让你把注意力集中在你感兴趣的代码,对象图,和你的应用程序中的对象之间的关系,让你不必再花费精力在retain和release操作上。正如下图所示,ARC可以减少开发中的内存管理步骤,简化开发。Co... 阅读全文

Transforms CTM, 转换矩阵

2013-01-07 17:05 by 三戒1993, 159 阅读, 收藏, 编辑
摘要: Quartz转换实现的原理:Quartz把绘图分成两个部分, 用户空间,即和设备无关, 设备空间,用户空间和设备空间中间存在一个转换矩阵 : CTM本章实质是讲解CTMQuartz提供的3大功能移动,旋转,缩放演示如下,首先加载一张图片void CGContextDrawImage ( CGC... 阅读全文

Transforms CTM, 转换矩阵

2013-01-07 17:05 by 三戒1993, 151 阅读, 收藏, 编辑
摘要: Quartz转换实现的原理:Quartz把绘图分成两个部分, 用户空间,即和设备无关, 设备空间,用户空间和设备空间中间存在一个转换矩阵 : CTM本章实质是讲解CTMQuartz提供的3大功能移动,旋转,缩放演示如下,首先加载一张图片void CGContextDrawImage ( CGC... 阅读全文

三维基本几何变换

2013-01-06 18:27 by 三戒1993, 406 阅读, 收藏, 编辑
摘要: 三维基本几何变换都是相对于坐标原点和坐标轴进行的几何变换。假设三维形体变换前一点为p(x, y, z),变换后为p'(x', y', z')。平移变换平移变换的变换矩阵如下:图7-5平移变换比例变换 (1)局部比例变换局部比例变换的变换矩阵如下: (2)整体比例变换整体比例变换的变换矩阵如下:旋转变... 阅读全文

三维基本几何变换

2013-01-06 18:27 by 三戒1993, 348 阅读, 收藏, 编辑
摘要: 三维基本几何变换都是相对于坐标原点和坐标轴进行的几何变换。假设三维形体变换前一点为p(x, y, z),变换后为p'(x', y', z')。平移变换平移变换的变换矩阵如下:图7-5平移变换比例变换 (1)局部比例变换局部比例变换的变换矩阵如下: (2)整体比例变换整体比例变换的变换矩阵如下:旋转变... 阅读全文

矩阵的三维变换(转)

2013-01-06 18:23 by 三戒1993, 742 阅读, 收藏, 编辑
摘要: http://learn.gxtc.edu.cn/NCourse/jxcamcad/cadcam/Mains/main16-2.htm2.3.6 三维变换 对三维空间的点P=[X Y Z],采用规范齐次坐标则与二维情况类似,其平移交换和比例变换的变换矩阵分别为:其中tx,ty,tz分别是沿x、y、z... 阅读全文

矩阵的三维变换(转)

2013-01-06 18:23 by 三戒1993, 242 阅读, 收藏, 编辑
摘要: http://learn.gxtc.edu.cn/NCourse/jxcamcad/cadcam/Mains/main16-2.htm2.3.6 三维变换 对三维空间的点P=[X Y Z],采用规范齐次坐标则与二维情况类似,其平移交换和比例变换的变换矩阵分别为:其中tx,ty,tz分别是沿x、y、z... 阅读全文

基本的2D图形变换&变换矩阵推导

2013-01-06 17:50 by 三戒1993, 303 阅读, 收藏, 编辑
摘要: 平时开发程序,免不了要对图像做各种变换处理。有的时候变换可能比较复杂,比如平移之后又旋转,旋转之后又平移,又缩放。直接用公式计算,不但复杂,而且效率低下。这时可以借助变换矩阵和矩阵乘法,将多个变换合成一个。 最后只要用一个矩阵对每个点做一次处理就可以得到想要的结果。另外,矩阵乘法一般有硬件支持,比如... 阅读全文

CATransform3D-Cube

2013-01-06 17:40 by 三戒1993, 209 阅读, 收藏, 编辑
摘要: 1. CATransform3D结构成员的意义。?structCATransform3D{CGFloat m11(x缩放), m12(y切变), m13(z旋转), m14();CGFloat m21(x切变), m22(y缩放), m23(z切变), m24();CGFloat m31(x旋转),... 阅读全文

GCD 使用方法

2013-01-05 17:23 by 三戒1993, 173 阅读, 收藏, 编辑
摘要: GCD为我们提供了三种类型的调度队列(dispatch queue),分别为串行,并行和主调度队列。串行(Serial)你可以创建任意个数的串行队列,每个队列依次执行添加的任务,一个队列同一时刻只能执行一个任务(串行),但是各个队列之间不影响,可以并发执行。每个队列中的任务运行在一个由各自串行队列维... 阅读全文

iOS 关于枚举的使用

2013-01-05 16:00 by 三戒1993, 205 阅读, 收藏, 编辑
摘要: 首先要知道的是,枚举值它是一个整形(int) 并且,它不参加内存的占用和释放枚举定义变量即可直接使用,不用初始化.枚举的定义如下:[csharp]view plaincopytypedefenum{//以下是枚举成员TestA=0,TestB,TestC,TestD}Test;//枚举名称亦可以如下... 阅读全文

iOS 关于枚举的使用

2013-01-05 16:00 by 三戒1993, 139 阅读, 收藏, 编辑
摘要: 首先要知道的是,枚举值它是一个整形(int) 并且,它不参加内存的占用和释放枚举定义变量即可直接使用,不用初始化.枚举的定义如下:[csharp]view plaincopytypedefenum{//以下是枚举成员TestA=0,TestB,TestC,TestD}Test;//枚举名称亦可以如下... 阅读全文

SHA 加密算法

2013-01-05 14:41 by 三戒1993, 239 阅读, 收藏, 编辑
摘要: SHA (Secure Hash Algorithm,译作安全散列算法) 是美国国家安全局 (NSA) 设计,美国国家标准与技术研究院 (NIST) 发布的一系列密码散列函数。正式名称为 SHA 的家族第一个成员发布于 1993年。然而现在的人们给它取了一个非正式的名称 SHA-0 以避免与它的... 阅读全文

SHA 加密算法

2013-01-05 14:41 by 三戒1993, 353 阅读, 收藏, 编辑
摘要: SHA (Secure Hash Algorithm,译作安全散列算法) 是美国国家安全局 (NSA) 设计,美国国家标准与技术研究院 (NIST) 发布的一系列密码散列函数。正式名称为 SHA 的家族第一个成员发布于 1993年。然而现在的人们给它取了一个非正式的名称 SHA-0 以避免与它的... 阅读全文