摘要:
旧工程配置arc方案:1,直接在targets->build phases中修改compiler Flags,是否支持arc。添加:-fobjc-arc,就可以让旧项目支持arc。新工程配置arc方案,新工程里面使用ARC,但是使用旧的库没有使用arc:如果想让原来支持arc的不使用arc则添加-fno-objc-arc直接在targets->build phases中修改compiler Flags,这样以来,新旧工程的ARC适配问题就解决了。说明:在arc中,strong对应原来的retain与copy,weak对应原来的assign。EX:举例使用autorelease:NS 阅读全文
摘要:
单例模式算是开发中比较常见的一种模式了。在iOS中,单例有两种实现方式(至少我目前只发现两种)。根据线程安全的实现来区分,一种是使用@synchronized,另一种是使用GCD的dispatch_once函数。要实现单例,首先需要一个static的指向类本身的对象,其次需要一个初始化类函数。下面是两种实现的代码。1、@synchronizedstatic InstanceClass *instance;+ (InstanceClass *)defaultInstance{ @synchronized (self){ if (instance == nil) { ... 阅读全文
摘要:
6L装满 -> 倒进5L 倒满后,5L 的瓶子倒空,把6L瓶子的剩余的一升水倒进5L的瓶子接着 6L再次装满,-> 再次倒进5L 瓶子, 这次5L瓶子满的时间,……6L 瓶子余下2L 重复操作3次最后6L 瓶子余下3L水,好了,然后回家。。。 阅读全文
摘要:
博客园IIViewDeckController的使用,左右拖拉菜单效果实现很多应用里面都实现了对应的侧拉 显示隐藏的效果,看起来很符合用户体验的类似于这种看起来很好看,今天去晚上搜下开源库,还是挺好用的,分享下1.首先创建一个空工程,这里不在细说了...导入这两个类.在appdalegate里面,: self.window= [[[UIWindowalloc]initWithFrame:[[UIScreenmainScreen]bounds]]autorelease]; MainViewController* main = [[MainViewControlleralloc]initWithN 阅读全文
摘要:
cocos2d中要实现一个动画,一般采用纹理图集的方式,也就是说把几个连续动作的图片挨个显示切换这样就是动画一: 首先先看下今天要实现的具体的目的,打飞机的时间屏幕上会有一个喷火的小飞机,飞机的尾部会有喷火 熄灭 在开始喷火的动画今天就实现这个场景动画,首先看下素材我们的目的就是把它实现成一个三个图片连续切换动画类似这种样式二: 首先,我们需要创建一个精灵批处理集合对象 flightSheet = [CCSpriteBatchNodebatchNodeWithFile:@"flight.png"capacity:3]; //这个位置的图片就是三个额小飞机的图片 flight 阅读全文
摘要:
首先在Xcode下面配置两个模板的开发环境,其实一个开源库,一个C++移植,学习需要也是,我的mac上一直用的是cocos2d-iphone,今天想试下cocos2d-x,安装的时间发现安装成功(我当时是sudo + 直接拖进去的,比较懒),后来安装之后才发现新建项目的模板里面并没有cocos2d-x的模板,反复整了好几次都是,后来折腾了好久,又度娘了下经验,才发现的确是自己懒得缘故安装的时间为了安全期间大家还是都是用命令吧,这样不容出错了就打开终端:还是使用最原始的方法吧,这样不会出错,今天彻底长了教训了然后执行:这次仍旧是提示成功,但是你进了xcode这次就安装成功了 阅读全文
摘要:
#include "stdio.h"int ai[100];void main(){int a,b;ai[99]=1;for(b=0;b9){ai[a]-=10;ai[a-1]+=1;}}b=0;for(a=0;a<100;a++){if(ai[a]!=0)b++;if(b!=0)printf("%d",ai[a]);}}使用数组来存数整数 阅读全文
摘要:
NSCondition的用法使用NSCondition,实现多线程的同步,即,可实现生产者消费者问题。基本思路是,首先要创建公用的NSCondition实例。然后:消费者取得锁,取产品,如果没有,则wait,这时会释放锁,直到有线程唤醒它去消费产品;生产者制造产品,首先也是要取得锁,然后生产,再发signal,这样可唤醒wait的消费者。- (IBAction)conditionTest:(id)sender{NSLog(@"begin condition works!");products = [[NSMutableArrayalloc] init];condition 阅读全文
摘要:
#include int main(){unsigned int a = 13; int b = -2; int c = 0; printf("asasassa"); while (a + b > 0) { a = a + b; c++; } printf("aaa : %d", c); return 0;}这个结果很多人被坑,其实是死循环,把一个有符号数字赋值给一个无符号数,一旦赋值了负数,结果就完全变了,然后while就永远成立,小米特坑了 阅读全文
摘要:
iOS里面有三种调用函数的方式:直接调用方法 [对象名 方法];performselector: [对象名 perform方法];NSInvocation 调用在使用代理调用方法的时间,会出现警告,使用类似的强转 [(MainViewController*)self.delegatelineViewClicke:index];是一种方法但是有的时间两个类互相包含是有错的,我们只在一个类中使用了@class前向声明,这时间强转也是不行的我们可以在。h文件里面使用@class前向声明,在.m文件从新import,这样强转就又没问题了,或者最直接的方法是使用对象的perform方法调用,O... 阅读全文