123456

 
上一页 1 ··· 19 20 21 22 23 24 25 26 27 ··· 39 下一页

2011年12月29日

deleget

摘要: Delegate模式顾名思义,就是两个对象之间的代理关系。形象地说,即某个对象不愿意自己去干一件事,而是委托另外一个对象作为自己的代理,来做这件事,代理对象把结果返回给委托者对象。一个对象可以拥有多个代理.下面用一个例子进一步说明了这个关系,这个是 Cocoa教程里的例子:比如有一个NSWindow对象,与其代理对象间实现了一个包含叫做windowShouldClose方法的通信协议。当用户点击窗口角上的关闭按钮时,NSWindow对象向其代理对象发送windowShouldClose消息,询问是否可以关闭窗口?代理对象根据窗口的内容已经保存与否等情况,向窗口对象返回是否应该关闭的布尔值,据此 阅读全文

posted @ 2011-12-29 17:43 hgy413 阅读(129) 评论(0) 推荐(0) 编辑

赋值的三种写法

摘要: 第一种: retain 然后 release:- (void)setFoo:(NSCalendarDate *)x { [x retain]; [foo release]; foo = x; }retain在release之前是非常重要的.如果你颠倒了它们的循序, 当x 和foo指向同一个对象, 而该对象的retain计数为1时. release将会把这个对象释放了. 评价: 如果是指向同一个对象, retain和release是多余的.第二种:- (void)setFoo:(NSCalendarDate *)x { if (foo != x) { [foo release]; foo = [ 阅读全文

posted @ 2011-12-29 14:05 hgy413 阅读(752) 评论(0) 推荐(0) 编辑

设置垃圾回收

摘要: xcode-project->Edit Project Settings搜索中输入gar,就看到了Objective-C Garbage Collection 阅读全文

posted @ 2011-12-29 13:40 hgy413 阅读(109) 评论(0) 推荐(0) 编辑

NSCalendarDate

摘要: +(id) calendarDate;该方法创建了当前日期和时间以及默认格式的NSCalendarDate对象.它的时区为机器设置好的时区.该方法为class method+(id)dateWithYear:(NSInteger)year month:(NSUInteger)month day.......该对象使用了参数指定的值来初始化. year 使用公元记年比如2009. month为1到12. day为1到31.hour为0到23.minute为0到59.second为0到59. (NSCalendarDate *)dateByAddingYears:(int)year months: 阅读全文

posted @ 2011-12-29 10:44 hgy413 阅读(163) 评论(0) 推荐(0) 编辑

2011年12月27日

release 和 drain

摘要: drain:In a reference-counted environment, releases and pops the receiver; in a garbage-collected environment, triggers garbage collection if the memory allocated since the last collection is greater than the current threshold.releaseDecrements the receiver’s reference count. (required)在一个garbage col 阅读全文

posted @ 2011-12-27 20:14 hgy413 阅读(121) 评论(0) 推荐(0) 编辑

2011年12月26日

iPhone/Mac Objective-C内存管理教程和原理剖析

摘要: 前言初学objectice-C的朋友都有一个困惑,总觉得对objective-C的内存管理机制琢磨不透,程序经常内存泄漏或莫名其妙的崩溃。我在这里总结了自己对objective-C内存管理机制的研究成果和经验,写了这么一个由浅入深的教程。希望对大家有所帮助,也欢迎大家一起探讨。此文涉及的内存管理是针对于继承于NSObject的Class。一基本原理Objective-C的内存管理机制与.Net/Java那种全自动的垃圾回收机制是不同的,它本质上还是C语言中的手动管理方式,只不过稍微加了一些自动方法。1Objective-C的对象生成于堆之上,生成之后,需要一个指针来指向它。ClassA *ob 阅读全文

posted @ 2011-12-26 23:26 hgy413 阅读(161) 评论(0) 推荐(0) 编辑

Objective-C 的 self 和 super 详解

摘要: 在 Objective-C 中的类实现中经常看到这两个关键字 ”self” 和 ”super”,以以前 oop 语言的经验,拿 c++ 为例,self 相当于 this,super 相当于调用父类的方法,这么看起来是很容易理解的。以下面的代码为例:@interface Person:NSObject { NSString* name;}- (void) setName:(NSString*) yourName;@end@interface PersonMe:Person { NSUInteger age;}- (void) setAge:(NSUInteger) age;- (v... 阅读全文

posted @ 2011-12-26 22:22 hgy413 阅读(123) 评论(0) 推荐(0) 编辑

2011年12月22日

NSLog 和 printf区别

摘要: 1.NSLog会自己加上换行符2.NSLog在Debug下会写到system.log中3.NSLog会自动加上时间和进程信息.4.NSLog支持%@去打印一个对象类型,当使用%@时,它会给对象发送消息description,所以如果你组合了一个新的类,你可以通过给自己重载description来实现打印DEBUG比如-(NSString *)description; 阅读全文

posted @ 2011-12-22 10:36 hgy413 阅读(121) 评论(0) 推荐(0) 编辑

2011年12月20日

VMware Workstation优化设置

摘要: 如何优化虚拟机选择篇博文中创建好的xp操作系统,选择Edi virtual machine settings(注意,要先将虚拟XP关机,否则无法进行以下设置)设置虚拟内存大小。根据自身的硬件来设置,内存设置合适就好,不要设置过大,这样会反而降低运行速度。如:真机内存为4GB,虚拟机内存为2GB;真机内存为2GB,虚拟机为1GB。虚拟Cpu处理器设置。处理器数量设置成2个(既双核)就可以了。但一定不要超过真机的处理器数量。如果你的Cpu是近几年产品的话,大多都支持虚拟技术,便可以将“Perferred mode”设置为下图中的选项。不必要的虚拟硬件可以删除,自行决定(可不要瞎删)。如软盘Flop 阅读全文

posted @ 2011-12-20 20:53 hgy413 阅读(505) 评论(0) 推荐(0) 编辑

2011年12月18日

Qt学习10:像丝一样滑(双缓冲)

摘要: void CannonField::paintEvent(QPaintEvent *e){ // ------------------------------------- // QPaintEvent包含一个必须被刷新的窗口部件的区域 // QPainter默认只能在paintEvent里面调用 // ------------------------------------- QRect cr = cannonRect(); // -------------------------------------- // 只要有一个象素相交,就返回true。 // --------------... 阅读全文

posted @ 2011-12-18 14:10 hgy413 阅读(203) 评论(0) 推荐(0) 编辑

上一页 1 ··· 19 20 21 22 23 24 25 26 27 ··· 39 下一页

导航