摘要: http://www.cocoachina.com/bbs/read.php?tid=87593&keyword=blockhttp://www.cocoachina.com/bbs/read.php?tid=88591&keyword=blockhttp://www.cocoachina.com/bbs/read.php?tid=9222&keyword=block学习吧,骚年~ 阅读全文
posted @ 2013-02-26 17:20 Piosa 阅读(214) 评论(0) 推荐(0) 编辑
摘要: ARC与非ARC在一个项目中同时使用,1,选择项目中的Targets,选中你所要操作的Target,2,选Build Phases,在其中Complie Sources中选择需要ARC的文件双击,并在输入框中输入:-fobjc-arc,如果不要ARC则输入:-fno-objc-arc混用没有问题,没有用ARC的代码继续坚持谁申请谁释放就好了。以前的库没有时间重写,都采用这种方法。而且不知道你用的是什么第三方代码,一般来说,现在很少有arc only的代码,大部分都是用一些宏来让代码可以同时适应arc和非arc的(用#if __has_feature(objc_arc)判断)。如果代码量不大,可 阅读全文
posted @ 2013-01-24 19:30 Piosa 阅读(14822) 评论(1) 推荐(5) 编辑
摘要: 为什么应用程序用户启动时崩溃,使用xcode打开却不会iPhone的系统在程序启动时使用一个看门狗定时器,一旦发现程序花费太长的时间用来初始化启动程序,系统会终结程序。程序被终结的异常代码为0x8badf00d,输出崩溃报告。Exception Type: 00000020Exception Codes: 0x8badf00dHighlighted Thread: 0Application Specific Information:com.yourcompany.yourapp failed to launch in timeelapsed total CPU time (seconds): 阅读全文
posted @ 2013-01-23 11:28 Piosa 阅读(488) 评论(0) 推荐(0) 编辑
摘要: 一.NSRunLoop在Cocoa中,每个线程(NSThread)对象中内部都有一个run loop(NSRunLoop)对象用来循环处理输入事件,处理的事件包括两类,一是来自Input sources的异步事件,一是来自Timer sources的同步事件;run Loop在处理输入事件时会产生通知,可以通过Core Foundation向线程中添加run-loop observers来监听特定事件,以在监听的事件发生时做附加的处理工作。每个run loop可运行在不同的模式下,一个run loop mode是一个集合,其中包含其监听的若干输入事件源,定时器,以及在事件发生时需要通知的run 阅读全文
posted @ 2012-10-30 17:03 Piosa 阅读(3399) 评论(0) 推荐(1) 编辑
摘要: Quartz转换实现的原理:Quartz把绘图分成两个部分, 用户空间,即和设备无关, 设备空间,用户空间和设备空间中间存在一个转换矩阵 : CTM本章实质是讲解CTMQuartz提供的3大功能移动,旋转,缩放演示如下,首先加载一张图片void CGContextDrawImage ( CGContextRef c, CGRect rect, CGImageRef image );移动函数CGContextTranslateCTM (myContext, 100, 50);旋转函数include <math.h> static inline double radians (d... 阅读全文
posted @ 2012-10-19 11:14 Piosa 阅读(736) 评论(0) 推荐(0) 编辑
摘要: 以下来自cocoaChina,ps:其实俺没有遇到这个问题,但是怕以后遇到,就先留着~偶今日解决完bug,使用simulator调试无误之后,准备使用真机进行调试,哪知道运行没有效果,xcode仅仅给出一个提示:finished running MyProj on My Phone。刚想起刚更新iOSSDK到了iOS5,Xcode到了4.2,因为之前真机调试都没有问题,就是今天出了问题,那么肯定就是这里iOS5的问题了,好了废话少说,看下图:(注:这不是本人原创,不敢居功,特给出参考链接:http://stackoverflow.com/questions/7760946/possible-t 阅读全文
posted @ 2012-10-16 10:50 Piosa 阅读(269) 评论(0) 推荐(1) 编辑
摘要: 考虑下面问题:(默认对齐方式)union u{double a;int b;};union u2{char a[13];int b;};union u3{char a[13];char b;};cout<<sizeof(u)<<endl; // 8cout<<sizeof(u2)<<endl; // 16cout<<sizeof(u3)<<endl; // 13都知道union的大小取决于它所有的成员中,占用空间最大的一个成员的大小。所以对于u来说,大小就是最大的double类型成员a了,所以sizeof(u)=sizeo 阅读全文
posted @ 2012-03-20 16:42 Piosa 阅读(707) 评论(0) 推荐(0) 编辑
摘要: 考虑下面的问题:#include <iostream>using namespace std;int Sum(int i[]){int sumofi = 0;for (int j = 0; j < sizeof(i)/sizeof(int); j++) //实际上,sizeof(i) = 4{sumofi += i[j];}return sumofi;}int main(){int allAges[6] = {21, 22, 22, 19, 34, 12};cout<<Sum(allAges)<<endl;system("pause" 阅读全文
posted @ 2012-03-20 16:31 Piosa 阅读(1803) 评论(0) 推荐(0) 编辑
摘要: 通过查看官方文档,我们了解到,其后台运行机制,允许三种服务在后台长时间运行,分别是1. 位置服务2. 音乐播放3. VoIP苹果对于这三种服务有一句话是这样说的,“Such applications do not run continuously but are woken up by the system frameworks at appropriate times to perform work related to those services.”所以他们也只是适时的被系统唤醒。其什么时候停止呢?拿音乐播放来说,“if the application stops playing aud 阅读全文
posted @ 2012-03-15 16:26 Piosa 阅读(440) 评论(0) 推荐(0) 编辑
摘要: 一般的应用在进入后台的时候可以获取一定时间来运行相关任务,也就是说可以在后台运行一小段时间。还有三种类型的可以运行在后台,1.音乐2.location3.voip大多数应用程序进入后台状态不久后转入暂停状态。在这种状态下,应用程序不执行任何代码,并有可能在任意时候从内存中删除。应用程序提供特定的服务,用户可以请求后台执行时间,以提供这些服务。判断是否支持多线程UIDevice*device=[UIDevicecurrentDevice]; BOOLbackgroundSupported=NO; if([devicerespondsToSelector:@selector(isMultitask 阅读全文
posted @ 2012-03-15 16:14 Piosa 阅读(638) 评论(0) 推荐(0) 编辑