摘要: 以前的做法和这个比起来简直就是xxxx,今天看官方的参考库又学了一招~以前的实现效果和这个是一样,不过代码上比这个多了点程序清单5-1处理键盘通告// Call this method somewhere in your view controller setup code.- (void)registerForKeyboardNotifications{ [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWasShown:) na... 阅读全文
posted @ 2012-03-11 18:06 dcty 阅读(4080) 评论(1) 推荐(0) 编辑
摘要: 如果直接判断 if (touch.tapCount == 1)立即调用某个方法的话,会出现出乎意料的情况,不过今天看到苹果的iPhone应用开发指南里面,清楚的描述了如何解决这个问题。程序清单3-1检测双击手势- (void) touchesEnded:(NSSet*)touches withEvent:(UIEvent*)event{ UITouch *touch = [touches anyObject]; if ([touch tapCount] == 2) { CGPoint tapPoint = [theTouch locationInView:... 阅读全文
posted @ 2012-03-11 17:15 dcty 阅读(828) 评论(0) 推荐(0) 编辑
摘要: 有效地使用内存由于iPhone OS的虚存模型并不包含磁盘交换区空间,所以应用程序在更大程度上受限于可供使用的内存。对内存的大量使用会严重降低系统的性能,可能导致应用程序被终止。因此,在设计阶段,您应该把减少应用程序的内存开销放在较高优先级上。应用程序的可用内存和相对性能之间有直接的联系。可用内存越少,系统在处理未来的内存请求时就越可能出问题。如果发生这种情况,系统总是先把代码页和其它非易失性资源从内存中移除。但是,这可能只是暂时的修复,特别是当系统在短时间后又再次需要那些资源的时候。相反,您需要尽可能使内存开销最小化,并及时清除自己使用的内存。本文的下面部分将就如何有效使用内存和在只有少量内 阅读全文
posted @ 2012-03-11 16:49 dcty 阅读(793) 评论(0) 推荐(0) 编辑
摘要: 经过测试,1,2,3的写法效果是一模一样的,4的写法最糟糕补充一下:创建一个数组,把animal添加到数组,然后查看内存的变化,效果令人大吃一惊笔者苦逼的使用第一种方法 1 #import <Foundation/Foundation.h> 2 3 @interface Animal : NSObject 4 { 5 NSString *_name; 6 NSInteger _age; 7 } 8 9 @property (nonatomic,copy) NSString *name;10 @property (nonatomic,assign) NSInteger age... 阅读全文
posted @ 2012-03-11 00:14 dcty 阅读(478) 评论(0) 推荐(0) 编辑