- 博客(67)
- 资源 (4)
- 收藏
- 关注
转载 什么是OpenGL中的深度、深度缓存、深度测试?
1)直观理解深度其实就是该象素点在3d世界中距离摄象机的距离,深度缓存中存储着每个象素点(绘制在屏幕上的)的深度值!深度测试决定了是否绘制较远的象素点(或较近的象素点),通常选用较近的,而较远优先能实现透视的效果!!!2)Z值(深度值)、Z buffer(深度缓存) 下面先讲讲Z坐标。Z坐标和X、Y坐标一样。在变换、裁减和透视除法后,Z的范围为-
2013-01-31 17:24:06 855 1
原创 malloc 和 calloc的区别?
函数malloc()和calloc()都可以用来动态分配内存空间,但两者稍有区别。malloc()函数有一个参数,即要分配的内存空间的大小:void *malloc(size_t size);calloc()函数有两个参数,分别为元素的数目和每个元素的大小,这两个参数的乘积就是要分配的内存空间的大小。void *calloc(size_t numElements,s
2013-01-31 11:27:57 555
原创 Xcode 每次断点都会进入汇编
Xcode 4.2 断点 中断不正常。每次断点都会进入汇编。问题描述: 我在我的代码行设置一个断点,进行debug,每次debug断点无法正常断到我设置断点的代码行上,而是直接进入了汇编代码。 解决:products->debugWorkflow->最后一个勾去掉
2013-01-27 17:36:06 2091
转载 关于图片拉伸的几种方法总结
系统至ios6之后,关于图片拉伸的方法已经扩展至3个函数:1.ios4提供的方法:- (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight这个函数是UIImage的一个实例函数,它的功能是创建一个内容可拉伸,而边角不拉伸
2013-01-25 12:47:33 771
转载 查找 EXC_BAD_ACCESS 问题根源的方法
写程序遇到 Bug 并不可怕,大部分的问题,通过简单的 Log 或者 代码分析并不难找到原因所在。但是在 Objective-C 编程中遇到 EXC_BAD_ACCESS 问题的时候,通过简单常规的手段很难发现问题。 写程序遇到 Bug 并不可怕,大部分的问题,通过简单的 Log 或者 代码分析并不难找到原因所在。但是在 Objective-C 编程中遇到 EXC_BAD_ACC
2013-01-25 00:14:03 696
转载 objective-c 中随机数的用法 (3种:arc4random() 、random()、CCRANDOM_0_1() )
1、随机数的使用 1)、arc4random() 比较精确不需要生成随即种子 使用方法 : 通过arc4random() 获取0到x-1之间的整数的代码如下: int value = arc4random() % x; 获取1到x之间
2013-01-24 13:48:14 664
转载 Reachability(判断网络是否连接)
类似于一个网络状况的探针。 [[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(reachabilityChanged:) name: kReachabilityChangedNotification object: nil]; hostReach = [[R
2013-01-24 09:36:53 2159
转载 iOS运行回路(RunLoop)总结
首先看两个runloop的示例,来源:http://paste.lisp.org/display/86524第一个:#include static void _perform(void *info __unused) { printf("hello\n"); } static void _tim
2013-01-23 17:18:23 552
原创 CoreData z_pk z_ent z_opt
CoreData Z_PK 是表的主键,从1开始递增,唯一值Z_ENT 表在xcdatamodel 中的索引值,创建了5个表,Z_ENT的区间就是[1,5 ]Z_OPT 表示的是每条数据被操作的次数,初始化值为1,只要是增删改查都会加1
2013-01-22 15:49:31 2992
转载 iphone core data 基础操作
1. 插入AppDelegate *app = [[UIApplication sharedApplication] delegate];NSManagedObjectContext *context = [app managedObjectContext];NSManagedObject *newManagedObject = [NSEntityDescription i
2013-01-22 14:51:23 542
转载 使用CoreData的轻量级自动数据迁移
使用IOS的CoreData进行存储很方便,CoreData已经帮我们做了很多基础的工作,一般情况下没必要自己操作数据库了。在开发中修改了实体模型,可能会遇到schema incompatibility的错误,这是因为修改了数据结构,要进行数据迁移。其实很多简单的情况,不用这么麻烦,Coredata提供了轻量级的自动数据迁移,比如以下三个情况会自动进行:1.简单的增
2013-01-22 14:45:52 1440
转载 Core Data 编程指南
一、技术概览 1. Core Data 功能初窥 对于处理诸如对象生命周期管理、对象图管理等日常任务,Core Data框架提供了广泛且自动化的解决方案。它有以下特性。 (注:对象图-Object graph的解一、技术概览1. Core Data 功能初窥 对于处理诸如对象生命周期管理、对象图管理等日常任务,Core Data框架提供了广泛且自动化的解决方案
2013-01-22 11:11:19 499
转载 CoreData 的自动平滑升级(Automatic Lightweight Migration)
就简单说几句这个好了,其实也很简单在IOS 应用中如果有个entities :table1 有两个字段:id ,name ,并且app 已经发布了如果现在table1 需要变更成table 2 有三个字段:id,name,sex. 如何在app更新的时候保证之前core data中的数据可用呢?创建新的Modle Version :Xcode 4.3->Editor->A
2013-01-22 10:59:25 668
转载 使用coredata导致的版本更新后程序crash的问题
在错误收集中有这么一个问题:我使用的xmpp框架,在调整为适应ios5的版本后出现一个导致程序crash问题。但是原来的xmpp代码没有改变,那么问题在哪呢?报错如下:[cpp] view plaincopyBUG监听报告: 手机型号: iPhone OS , 版本: 4.1 程序名称: Dating, 版本:1.8
2013-01-22 10:33:17 1127
转载 iphone开发之数据库CoreData
CoreData介绍在Cocoa环境下,如果你想使用数据库(如sqlite),你可以使用sql语句的方式通过相关的工具类进行数据库的直接操作。当然你也可以通过别人封装之后的一些简单框架,使得你的操作更加简单(如FMDB BNRPersistence)。 Cocoa框架本身提供了CoreData这个API可方便的让开发者通过操作对象的方式在操作数据库。CoreData是一个对象图
2013-01-22 09:59:22 458
转载 GCD实战2:资源竞争
概述我将分四步来带大家研究研究程序的并发计算。第一步是基本的串行程序,然后使用GCD把它并行计算化。如果你想顺着步骤来尝试这些程序的话,可以下载源码。注意,别运行imagegcd2.m,这是个反面教材。。 imagegcd.zip (8.4 KB, 108 次) 原始程序我们的程序只是简单地遍历~/Pictures然后生成缩略图。这个程序是个命令行程序
2013-01-21 15:20:42 388
转载 GCD实战一:使用串行队列实现简单的预加载
其主要思路是使用gcd创建串行队列,然后在此队列中先后执行两个任务:1.预加载一个viewController 2.将这个viewController推入代码如下:@implementation DWAppDelegate{ dispatch_queue_t _serialQueue; UINavigationController *_navController;}
2013-01-21 14:56:57 365
转载 GCD介绍(四): 完结
Dispatch Queue挂起dispatch queue可以被挂起和恢复。使用 dispatch_suspend函数来挂起,使用 dispatch_resume 函数来恢复。这两个函数的行为是如你所愿的。另外,这两个还是也可以用于dispatch source。一个要注意的地方是,dispatch queue的挂起是block粒度的。换句话说,挂起一个queue并不会将当前正
2013-01-21 14:47:00 351
转载 GCD介绍(三): Dispatch Sources
何为Dispatch Sources简单来说,dispatch source是一个监视某些类型事件的对象。当这些事件发生时,它自动将一个block放入一个dispatch queue的执行例程中。说的貌似有点不清不楚。我们到底讨论哪些事件类型?下面是GCD 10.6.0版本支持的事件:Mach port send right state changes.Mach p
2013-01-21 14:14:21 362
转载 Objective-c 中 nil, Nil, NULL和NSNull的区别
nil: A null pointer to an Objective-C object.( #define nil ((id)0) )Nil: A null pointer to an Objective-C class.NULL: A null pointer to anything else, is for C-style memory pointers.
2013-01-21 11:21:45 374
转载 GCD介绍(二): 多核心的性能
概念为了在单一进程中充分发挥多核的优势,我们有必要使用多线程技术(我们没必要去提多进程,这玩意儿和GCD没关系)。在低层,GCD全局dispatch queue仅仅是工作线程池的抽象。这些队列中的Block一旦可用,就会被dispatch到工作线程中。提交至用户队列的Block最终也会通过全局队列进入相同的工作线程池(除非你的用户队列的目标是主线程,但是为了提高运行速度,我们绝不会这么干)
2013-01-21 10:07:20 441
转载 GCD介绍(一): 基本概念和Dispatch Queue
什么是GCD?Grand Central Dispatch或者GCD,是一套低层API,提供了一种新的方法来进行并发程序编写。从基本功能上讲,GCD有点像NSOperationQueue,他们都允许程序将任务切分为多个单一任务然后提交至工作队列来并发地或者串行地执行。GCD比之NSOpertionQueue更底层更高效,并且它不是Cocoa框架的一部分。除了代码的平行执行能力,GC
2013-01-21 09:55:08 555
转载 CoreData 自定义数据类型
在coredata中,entity中attribute的类型只有固定的几种可选。如下图: 有没有方法扩展类型呢?方法当然是有的。原理是把要存类型转化为二进制的方式存在数据库中。 比如我们要想直接存放UIImage到数据库,如何做? 首先,在coredata中新建的attribute中类形选择Transformable. 意思表示这个字段是自定义的类型。然后在生成的NSManage
2013-01-21 09:47:41 2610
转载 NSFetchedResultsController和UITableView显示CoreData的数据时用relationship分组的方 ...
使用NSFetchedResultsController和UITableView显示CoreData的数据时,如果用relationship作为分组的关键字。比如Contact和Group两个实例如下图:在显示的时候,创建NSFetchedResultsController[代码]c#/cpp/oc代码:01/*
2013-01-18 18:06:39 1488
转载 coredata 最简单例子
先按照网上的教程,建一个简单的带coredata的项目 再 添加一个 UserInfo 对象(表)(按照网上的教材,可视化方式添加) 然后在AppDelegate.m中按如下修改,(只添加了4个方法) 然后运行,看控制台日志 - (BOOL)application:(UIApplication *)application didFinishL
2013-01-18 17:56:14 1430
转载 CoreData Z_PK
并非严格的说, CoreData是对sqlite数据库的一个封装.sqlite数据库操作的基本流程是, 创建数据库, 再通过定义一些字段来定义表格结构, 可以利用sql语句向表格中插入记录, 删除记录, 修改记录, 表格之间也可以建立联系.这个过程出现了, 表格的结构(schema), 所有表格的结构和相互联系构成整个数据库的模型, 数据库存放的方式(可以是文件或者在内存), 数据
2013-01-18 17:52:43 1509
转载 ASINetworkQueue使用cancelAllOperations方法来取消下载时使用的注意点
在 ASIHTTPRequest V1.7前提下正确使用: imgDataDownLoadQueue = [[ASINetworkQueue alloc] init]; [imgDataDownLoadQueue setShouldCancelAllRequestsOnFailure:NO]; [imgDataDownLoadQueue setDeleg
2013-01-18 15:11:26 1791
转载 iPhone开发下载网络数据的几种方法总结
1 使用NSURLConnection的同步方法下载view sourceprint?01.NSString *urlAsString = @"http://www.jouhu.com/json/info.zip";---要下载的全路径名02.NSURL *url = [NSURL URLWithString:urlA
2013-01-18 12:14:48 506
转载 从 Objective-C 里的 Alloc 和 AllocWithZone 谈起
第一次写ObjC的文章,请多多指教,我的博客:http://justinyan.me一、问题起源一切起源于Apple官方文档里面关于单例(Singleton)的示范代码:Creating a Singleton Instance.主要的争议集中在下面这一段:?123456
2013-01-18 11:03:03 330
转载 Objective-C中单例模式的实现
http://cocoa.venj.me/blog/singleton-in-objc/单例模式在Cocoa和Cocoa Touch中非常常见。比如这两个,[UIApplication sharedApplication]和[NSApplication sharedApplication],大家应该都见过。但是我们应该如何在代码中实现一个单例模式呢?如果你对苹果的文档很
2013-01-18 10:28:03 395
转载 allocwithzone
首 先,从copy开始说,简而言之,copy的目的就是生成一个新的实例,然后把其成员都按原实例赋值。对于非指针型的成员,比如BOOL, int, float,这样的赋值可以直接进行。但是对于指针型的数据,比如Objc中用到的对象,就有Deep Copy和Shallow Copy的区别——这个和在C++中的基本上是一样的:是生成新的成员对象,或是指向同一成员对象。了 解了这点以后,再看看
2013-01-18 10:21:37 392
转载 利用dispatch_once创建单例
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://bj007.blog.51cto.com/1701577/649413 无论是爱还是恨,你都需要单例。实际上每个iOS或Mac OS应用都至少会有UIApplication或NSApplication.什么是单例呢?Wikipedia是如此定义的:
2013-01-18 10:12:28 381
转载 CMYK
百科名片 CMYKCMYK也称作印刷色彩模式,是一种依靠反光的色彩模式,和RGB类似,CMY是3种印刷油墨名称的首字母:青色Cyan、品红色Magenta、黄色Yellow。而K取的是black最后一个字母,之所以不取首字母,是为了避免与蓝色(Blue)混淆。从理论上来说,只需要CMY三种油墨就足够了,它们三个加在一起就应该得到黑色。但是由于目前制造工艺还
2013-01-17 16:26:29 2924
转载 XCode快捷键
从雨痕老大的博客上转来的 http://www.rainsts.net/article.asp?id=1066 读书人偷书不算窃 :)1. 文件CMD + N: 新文件CMD + SHIFT + N: 新项目CMD + O: 打开CMD + S: 保存CMD + SHIFT + S: 另存为CMD + W: 关闭窗口CMD + SHIFT + W:
2013-01-17 15:11:46 412
转载 glLoadIdentity()与glTranslatef()和glRotatef()--坐标变换
glLoadIdentity()将当前的用户坐标系的原点移到了屏幕中心:类似于一个复位操作1.X坐标轴从左至右,Y坐标轴从下至上,Z坐标轴从里至外。2.OpenGL屏幕中心的坐标值是X和Y轴上的0.0f点。3.中心左面的坐标值是负值,右面是正值。 移向屏幕顶端是正值,移向屏幕底端是负值。 移入屏幕深处是负值,移出屏幕则是正值。glTranslatef
2013-01-16 16:07:16 564
转载 自定义 UIStoryboardSegue
http://rocry.com/2013/01/05/custom-segue/使用场景举个栗子: 比如我在现在很流行的这种侧边栏是Menu的交互情况下 现在的需求就是点左边Menu里面对应的条目可以跳转到相应的ViewController1234567891011121314151617181920
2013-01-15 11:41:03 1859
原创 CALayer 属性doubleSided
UIView.layer.doubleSided =NO;意思是图层有双面,是否都显示,设置NO意思背面看不到@property(getter=isDoubleSided) BOOL doubleSidedDescriptionDetermines whether the receiver is displayed when facing
2013-01-11 16:15:18 2212
原创 libxml/tree.h no such file or directory
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 include path. For Xcode do this by addi
2013-01-10 15:25:39 1620
转载 Android仿真翻页
前言 Android仿真翻页效果有2种操作模式,一种是手势点击之后直接翻页,另外一种是跟随手势翻页.前面一种实现方式很多,例如可以利用, 利用触摸屏的Fling、Scroll等Gesture操作来操作.另外还有利用ViewFlipper以及翻页动画是模仿真实的翻页效果.本文结合网络资料笼统介绍跟随手势翻页的仿真效果原理及实现,其中的算法研究得也不是很透彻.1. 仿真翻页效果
2013-01-09 12:27:08 1360 1
转载 Chaikin Curve(球面插值)
http://www.cnblogs.com/hongru/archive/2011/10/27/2226946.html 在两条折线间完成平滑的过渡是 用画布做UI 或者做类似地图编辑器一类的工作的 很常见的任务。怎么样化方为圆是决定工作效率的很重要的因素。(当需要编辑的曲线多起来, 复杂起来的时候,这会是件相当繁重的工作)最容易想到的莫非是 贝塞尔曲线,而且时下
2013-01-09 12:24:57 933
OpenGL 超级宝典
2012-03-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人