摘要: 本文转自:http://www.cnblogs.com/andyque子龙山人的好文之前很多网友对我翻译的教程中的Property的使用感到有些迷惑不解,搞不清楚什么时候要release,什么时候要self.xxx = nil;同时对于Objective-c的内存管理以及cocos2d的内存管理规则不够清楚。本文主要讲解objc里面@property,它是什么,它有什么用,atomic,nonatomic,readonly,readwrite,assign,retain,copy,getter,setter这些关键字有什么用,什么时候使用它们。至于Objc的内存管理和cocos2d的内存管理部 阅读全文
posted @ 2013-11-08 10:21 Asial 阅读(125) 评论(0) 推荐(0) 编辑
摘要: dealloc里面释放对象#if DEBUG #define MCRelease(x) [x release] #else #define MCRelease(x) [x release], x = nil #endif //use dlog to print while in debug model#ifdef DEBUG# define DLog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__);#else# define DLog(...)#end 阅读全文
posted @ 2013-11-08 10:15 Asial 阅读(343) 评论(0) 推荐(0) 编辑
摘要: 文本转自:http://www.cocoachina.com/bbs/read.php?tid=165823DEMO最近练习做一个微博的项目,看到新浪微博的图片其实是可以根据图片的大小进行预览区域大小的设置,如果固定区域大小有时候会导致图片变形比较难看。google了很久,一直没有找到答案,如果是打图片的大小单独对应一组数据然后放在微博的json数据中返回过来,那么也好解决,但是微博并没有提供这样的接口。后来我又想是否有这样的请求命令可以直接索取图片的大小,那样的话我也可以不用加载完图片才能知道图片的大小。可惜也没找到这样的命令。 后来我觉得从最原始的方式开始探索,我觉得图片就是文件,文件就. 阅读全文
posted @ 2013-11-08 10:14 Asial 阅读(288) 评论(0) 推荐(0) 编辑
摘要: 利用类别(Category)为对象添加”实例变量”主要利用ObjectiveC的C API中函数:void objc_setAssociatedObject(id object, const void *key, id value, objc_AssociationPolicy policy)id objc_getAssociatedObject(id object, const void *key)原理详细参见官方的ObjectiveC Runtime Reference.好了,现在直接写怎么做了.1.在定义类别之前, 引入runtime.#import 2.定义&实现类别(以UIV 阅读全文
posted @ 2013-11-07 10:47 Asial 阅读(401) 评论(0) 推荐(0) 编辑
摘要: 一、编译针对iOS平台的ffmpeg库(kxmovie)近期有一个项目,需要播放各种格式的音频、视频以及网络摄像头实时监控的视频流数据,经过多种折腾之后,最后选择了kxmovie,kxmovie项目已经整合了ffmpeg和简单的播放器,具体可以参考kxmovie主页:https://github.com/kolyvan/kxmoviegit clone git://github.com/kolyvan/kxmovie.gitcd kxmoviegit submodule update --init rake二、使用kxmovie1.把kxmovie/output文件夹下文件添加到工程2.添加框 阅读全文
posted @ 2013-10-25 01:43 Asial 阅读(1170) 评论(0) 推荐(0) 编辑
摘要: UIlabel换行 NSString * labelStr = @“你好,这是UILabel的自动换行测试内容,主要实现多行数据的自动换行,自适应不同行数的数据”; CGSize labelSize = {0, 0}; labelSize = [labelStr sizeWithFont:[UIFont systemFontOfSize:14] constrainedToSize:CGSizeMake(200.0, 5000) lineBreakMode:UILineBreakMod... 阅读全文
posted @ 2013-10-24 22:35 Asial 阅读(5132) 评论(0) 推荐(0) 编辑
摘要: 参考开发者指南那份Demo,效果如图,ASI强大的功能使用异步队列下载更为简便代码如下://开始队列- (IBAction)fetchThreeImages:(id)sender{ // UI清空 [imageView1 setImage:nil]; [imageView2 setImage:nil]; [imageView3 setImage:nil]; self.progressIndicator.progress = 0.0; self.imageProgressIndicator1.progress = 0.0; self.imageProgr... 阅读全文
posted @ 2013-10-22 00:34 Asial 阅读(443) 评论(0) 推荐(0) 编辑
摘要: 项目需要适配ios7,在启动页面原来ios6可以运行的alertView上加addsubView已经不起作用,所以决定自己写一个alertView。思路也就是自己做模态蒙板半透明的,给view做show,和close的动画。下面上代码,动画部分是直接取自己code4上面的。点击按钮#import - (void)show{ self.STAlertView.center = self.view.center; [self.view addSubview:self.STAlertView]; CAKeyframeAnimation *popAnimation = [CAKey... 阅读全文
posted @ 2013-10-15 09:52 Asial 阅读(1273) 评论(0) 推荐(0) 编辑
摘要: 在程序启动代理内加入如下代码:NSString *applicationDocumentsDirectory() {return [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject]; }void UncaughtExceptionHandler(NSException *exception) { NSArray *arr = [exception callStackSymbols]; NSString *reason = [exception reason];. 阅读全文
posted @ 2013-10-11 17:10 Asial 阅读(306) 评论(0) 推荐(0) 编辑
摘要: if ([inputStream streamStatus] == NSStreamEventErrorOccurred) {instead为if ([inputStream streamStatus] == (NSStreamStatus)NSStreamEventErrorOccurred) {return [[NSDate date] addTimeInterval:maxAge];instead为return [[NSDate date] dateByAddingTimeInterval:maxAge]; 阅读全文
posted @ 2013-10-11 09:38 Asial 阅读(358) 评论(0) 推荐(0) 编辑