文章分类 -  objective c

深入理解Objective-c中@class的含义
摘要:深入理解Objective-c中@class的含义 by Elton on 九.08, 2009, under Mac 在Objective-c中,当一个类需要引用另一个类,即建立复合关系的时候,需要在类的头文件中建立被引用类的指针。 如: Car.h 123456789#import @interface Car:NSObject{ Tire *tires[4]; Engine *engine;}... 实现类我们先省略,如果你直接这么编译,编译器会报错,告诉你它不知道Tire和Engine是什么。 这时候有两个选择,一个是import这两个被引用类的头文件,另一个是使用@class声明T. 阅读全文

posted @ 2011-08-08 15:53 倾听林语 阅读(110) 评论(0) 推荐(0)

iOS的多核编程和内存管理
摘要:多核运算 在iOS中concurrency编程的框架就是GCD(Grand Central Dispatch), GCD的使用非常简单。它把任务分派到不同的queue队列来处理。开发者把任务代码装到一个个block里面,操作系统把这些任务代码分派到不同的资源 里去处理,一个简单的例子来说,为什么初学者写tableview的时候,滑动列表时总会很卡,因为很多初学者把图片装载放到main thread主线程去执行,例如我们要滑动畅顺的话,iOS最快可以1秒内刷新60次,如何你的一个cell的文字和图片装载超过1/60秒的话,自然就 会卡。所以一般我们会把图片装载这些需要多点时间的移出main th 阅读全文

posted @ 2011-08-05 09:58 倾听林语 阅读(150) 评论(0) 推荐(0)

循环中大量生成的自动释放autorelease对象,可以考虑使用autorelease pool封装
摘要:循环中大量生成的自动释放autorelease对象,可以考虑使用autorelease pool封装 代码范例: C代码 for(UIView*subviewinbigView.subviews){//使用autoreleasepool自动释放对象池NSAutoreleasePool*pool=[[NSAutoreleasePoolalloc]init];UIImageView*imageView=(UIImageView*)subview;//subview处理代码.......//销毁自动释放对象[pooldrain];}for(UIView *subview in bigView.sub 阅读全文

posted @ 2011-08-05 09:56 倾听林语 阅读(303) 评论(0) 推荐(0)

关于NSAutoreleasePool的release和drain的区别
摘要:苹果官方文档的翻译In a garbage collected environment,releaseis a no-op.NSAutoreleasePooltherefore provides adrainmethod that in a reference-counted environment behaves the same as callingrelease, but which in a garbage collected environment triggers garbage collection (if the memory allocated since the last 阅读全文

posted @ 2011-08-04 13:48 倾听林语 阅读(382) 评论(0) 推荐(0)

导航