- 博客(8)
- 资源 (14)
- 收藏
- 关注
原创 GL中投影基础知识
一、在3d投影中新手最常迷惑的就是镜头(Camera)、屏幕、3d场景之间的关系了。下面示例的是透视相机效果,除此之外还有正交投影,但这里不涉及。上图中near为从camera的近距截面,far为远距截面,在这两个面的范围内定义在屏幕上能显示的3D空间,其实就是个锥台,并经过投影计算,显示在screen面(屏幕)上。之所以需要near和far,我想可能是从渲染效率上考虑的。
2013-12-20 13:27:22
1881
原创 获取UIWebView的touch事件
UIWebView作为一个UIViewController的子视图,会遮挡住这个viewcotroller.view的touch事件,不能向下传递。在网上搜索了下,常用解决方法:创建UIView子类,重写touchesBegan等方法,添加这个类的实例放在webview上面,并设置为透明。下面介绍另一个方法:创建UIWindow的子类 TouchCapturingWindow,重写sendEv
2013-06-28 12:29:22
3545
转载 IOS 序列化与反序列化
开篇1到底这个序列化有啥作用?面向对象的程序在运行的时候会创建一个复杂的对象图,经常要以二进制的方法序列化这个对象图,这个过程叫做Archiving. 二进制流可以通过网络或写入文件中(来源于某教材的一段话) 本人的理解是当你于写数据需要本地存储时,即将你的数据写到硬盘上的时候,你就必须对他进行序列化,转换成二进制文件,从而便于在磁盘上的读写,同理在取出的时候必须将其在反序
2013-06-21 10:05:45
846
原创 ARC学习记录
strong和weak 默认情况下,所有的实例变量和局部变量都是 strong 指针。strong指针表示拥有了所指对象的所有权,weak指针却没有所有权,当一个对象的所有者计数为0时,自动释放。 如典型的delegate就是weak指针,指向ViewController对象vc,当vc引用计数为0时就会释放,delegate也就为nil。IBOutlet 使用strong还是weak?
2013-06-21 00:24:00
994
原创 Block学习记录
对Block认识和使用还很浅显,以后边用边学。。。===============使用Block对象属性:@property (nonatomic, copy) void (^completeHandler)(NSString*);void (^completeHandler)(BOOL) 只是声明了一个block类型变量completeHandler,同时说明这个block变量的
2013-06-21 00:15:40
880
原创 iOS网络编程 GET和POST
最近项目开发用到各种各样的web服务接口调用,顺便记录下,和一些链接,防止再找找不到。=====================客户端向web服务器发送HTTP请求常用方式是GET和POST。两者的不同在于传参方式的不同。GET方式就是通过http://yourhost:port/URI之后附加拼接参数后的URL访问服务器;POST是手动填充HTTP Body内容再访问http:/
2013-06-20 23:51:35
1188
原创 对char str*与char str[]的深入理解
以下是我做的练习char *strcat(char *dest,const char *src){ char *tmp=dest; while(*tmp) tmp++; while( *tmp++= *src++); return dest;} int main(int argc, char* argv[]){ char string[30];
2011-01-06 17:30:00
1293
转载 宏定义有无参数宏定义和带参数宏定义两种
(转自:http://hi.baidu.com/ufo008ahw/blog/item/5e943d4f5f49513caec3abd1.html)宏定义有无参数宏定义和带参数宏定义两种。 无参数的宏定义的一般形式为 # define 标识符 字符序列其中# define之后的标识符称为宏定义名(简称宏名),要求宏名与字符序列之间用空格符分隔。这种宏定义要求编译预处理程序将源程序中随后所有的定名的出现(注释与字符串常量中的除外)均用字符序列替换之。前面经常使用的定义符号常量是宏定义
2010-12-09 14:57:00
7083
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人