摘要: 转载地址:http://www.iloss.me/?p=545协议分非正式协议和正式协议先说说非正式协议非正式协议在Obj-c中关键字虽然是interface,但是这个和C#中的借口并不完全相同。回忆之前学过的内容,我们定义一个类Sample时,会生成一个Sample.h,代码如下:#import <foundation foundation.h>@interface Sample:NSObject {}-(void) HelloWorld;@end它表明Sample类中,约定了应该有一个名为HelloWorld的方法(注:这里说的时应该,而不是必须)它只是一种君子协议。如果我们在 阅读全文
posted @ 2011-09-09 13:24 痴人指路 阅读(310) 评论(0) 推荐(0) 编辑
摘要: 簡單說明 Category, Protocol, Property, Fast Enumation的功能Category :可用來在現有的類別(如果沒有程式碼)中新增method,但不能用來新增instance varible。雖然也可用來覆載(override) method,但不建議這樣使用;如要改變己存在的method的動作,請用subclass的方式。Sample:PrettyPrintCategory.h#import <Foundation/NSArray.h> // if Foundation not already imported@interface NSArra 阅读全文
posted @ 2011-09-06 22:01 痴人指路 阅读(358) 评论(0) 推荐(0) 编辑
摘要: http://blog.sina.com.cn/s/blog_538ee4a70100o9o2.html如果要从事Leopard或更高版本的MacOS程序开发使用Objective-C 2.0的垃圾回收机制,若要从事旧版本MacOS或iPhone开发则要全部阅读本章内容一、对象生命周期程序中的对象由生命周期,其周期包括:诞生(alloc或new)、生存(接受消息和执行操作)、交友(借助方法的组合和参数)和消亡(被释放)1、引用计数Cocoa采用了一种称为引用计数(保留计数)的技术:(1)每个对象有一个与之相关联的整数,称为他的引用计数器或保留计数器(2)当代码访问某个对象时,改代码将该对象保留 阅读全文
posted @ 2011-08-24 17:32 痴人指路 阅读(240) 评论(0) 推荐(0) 编辑
摘要: http://blog.csdn.net/windows_star/article/details/6010347cocos2d中,layer的主要任务就是接受用户的触摸,在看本文之前,读者最好了解ios与用户交互的方式,最好也知道cocos2d中是怎么相应用户的触摸到各个layer的。 首先我们继承自标准CCSprite,并且遵循CCTargetedTouchDeleget或者CCStandadTouchDeleget view plain////TestSprite.h//touchTest////Createdbyjeffreyon10-11-12.//Copyright2010__M. 阅读全文
posted @ 2011-08-24 15:19 痴人指路 阅读(413) 评论(0) 推荐(0) 编辑
摘要: 假设drinkDetails是一个由Object组成的Array,且Object类有个birthDate属性,我们要根据它来对Array排序。方法一- (NSComparisonResult)compare:(id)otherObject { return [self.birthDate compare:otherObject];}NSArray *sortedArray;sortedArray = [drinkDetails sortedArrayUsingSelector:@selector(compare:)];方法二NSSortDescriptor *sortDescriptor... 阅读全文
posted @ 2011-08-24 11:48 痴人指路 阅读(506) 评论(0) 推荐(0) 编辑
摘要: http://blog.csdn.net/sjzsp/article/details/6314903scroll view 原理 在滚动过程当中,其实是在修改原点坐标。当手指触摸后, scroll view会暂时拦截触摸事件,使用一个计时器。假如在计时器到点后没有发生手指移动事件,那么 scroll view 发送scroll view 原理 在滚动过程当中,其实是在修改原点坐标。当手指触摸后, scroll view会暂时拦截触摸事件,使用一个计时器。假如在计时器到点后没有发生手指移动事件,那么 scroll view 发送 tracking events 到被点击的 subview。假如在 阅读全文
posted @ 2011-08-24 10:08 痴人指路 阅读(328) 评论(0) 推荐(0) 编辑
摘要: 源地址:http://www.cocoachina.com/blog/blog.php?do=showone&uid=4039&type=blog&cid=&itemid=927一、 HelloWorld开始之前,我假想你已经看过了HelloWorld的源代码,并看了用户手册中关于HelloWorld的相关说明,而且已经大致明白了大多数内容。其实HelloWorld已经用极其简单的语言向你描述了Box2D物理引擎的运作机制,我们可以归纳一下步骤:1、 建立一个世界,这个世界基于一个b2AABB框,并设立了一个g值和一个是否允许休眠的bool型变量。2、 建立一个 阅读全文
posted @ 2011-08-23 16:47 痴人指路 阅读(357) 评论(0) 推荐(0) 编辑
摘要: CCTransitionFade, //渐隐效果CCTransitionFadeTR, //碎片效果CCTransitionJumpZoom, //跳动效果CCTransitionMoveInL, //从左向右移动CCTransitionPageTurn, //翻页效果CCTransitionRadialCCW, //钟摆效果CCTransitionRotoZoom,//涡轮效果CCTransitionSceneOriented,//CCTransitionShrinkGrow, //渐远效果CCTransitionSlideInL, //左移CCTransitionSplitCols,//上 阅读全文
posted @ 2011-08-23 13:14 痴人指路 阅读(1195) 评论(0) 推荐(1) 编辑
摘要: cocos2d中从场景切换到UIViewController视图- (void) showUIViewController:(UIViewController *) controller{ [[DirectorsharedDirector] pause]; [UIViewbeginAnimations:nil context:NULL]; [UIViewsetAnimationDuration:.5]; [UIViewsetAnimationTransition:UIViewAnimationTransitionCurlUpforView:[[Director sharedDirector]. 阅读全文
posted @ 2011-08-23 13:12 痴人指路 阅读(385) 评论(0) 推荐(0) 编辑
摘要: 1.protocol用法 protocol顾名思义,就是联系两个东西的桥梁。翻译成中文就叫协议,protocol在实际编程中应用的比较少,但是cocoa的API中却大量用到了它。例如:cocoa编程中,如果你在UI上使用了Table View控件,最常用的一个方法numberOfRowsInTableView。它返回将要在Table View上显示条目的个数,但是这个Cocoa的API怎么使用哪?程序员直接调用么?显然不是,因为apple工程师写这个方法的时候,他们怎么知道程序员将来要在Table View上显示几行啊!那么下面我们就拿这个例子分析protocol到底是怎么工作的。 numbe 阅读全文
posted @ 2011-08-23 12:58 痴人指路 阅读(297) 评论(0) 推荐(0) 编辑