随笔分类 -  ios

摘要:本文转自: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 阅读(139) 评论(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 阅读(356) 评论(0) 推荐(0)
摘要:文本转自:http://www.cocoachina.com/bbs/read.php?tid=165823DEMO最近练习做一个微博的项目,看到新浪微博的图片其实是可以根据图片的大小进行预览区域大小的设置,如果固定区域大小有时候会导致图片变形比较难看。google了很久,一直没有找到答案,如果是打图片的大小单独对应一组数据然后放在微博的json数据中返回过来,那么也好解决,但是微博并没有提供这样的接口。后来我又想是否有这样的请求命令可以直接索取图片的大小,那样的话我也可以不用加载完图片才能知道图片的大小。可惜也没找到这样的命令。 后来我觉得从最原始的方式开始探索,我觉得图片就是文件,文件就. 阅读全文
posted @ 2013-11-08 10:14 Asial 阅读(301) 评论(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 阅读(420) 评论(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 阅读(1194) 评论(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 阅读(5155) 评论(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 阅读(481) 评论(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 阅读(1291) 评论(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 阅读(320) 评论(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 阅读(365) 评论(0) 推荐(0)
摘要:if ([[[UIDevice currentDevice] systemVersion] floatValue]>=7) { [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent]; self.window.frame=CGRectMake(0, 20, self.window.frame.size.width, self.window.frame.size.height-20); }info.plist加入View controller-based... 阅读全文
posted @ 2013-10-09 14:03 Asial 阅读(261) 评论(0) 推荐(0)
摘要:电池状态栏。//方法一(代码设置):现在ios7已经更改为透明,并且不占用屏幕高度。其中隐藏及显示的方法如下:在uiviewcontroller的子类下,调用: if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)]) { // iOS 7 [self prefersStatusBarHidden]; [self performSelector:@selector(setNeedsStatusBarAppearanceUpdate)]; }- (BOO... 阅读全文
posted @ 2013-09-29 09:59 Asial 阅读(1164) 评论(0) 推荐(0)
摘要:做了一个单选勾选的表之前有些问题,修改了一下.h文件@interface ViewController : UIViewController{ NSArray *arrry; NSInteger checkedIndexPath; }@end- (void)viewDidLoad{ [super viewDidLoad]; UITableView *atable=[[UITableView alloc] initWithFrame:CGRectMake(0, 0, 320, 350)]; atable.delegate=self; atable.dataS... 阅读全文
posted @ 2013-09-27 09:21 Asial 阅读(403) 评论(0) 推荐(0)
摘要:JSONKit有两个warning。// array->isa = _JKArrayClass;// warningobject_setClass(array, _JKArrayClass); // 更正dictionary->isa = _JKDictionaryClass;// warningobject_setClass(dictionary, _JKDictionaryClass);// 更正原因isa已经被废弃了,所以请调用object_setClass()和object_getClass() 阅读全文
posted @ 2013-09-17 18:57 Asial 阅读(281) 评论(0) 推荐(0)
摘要:1.SourceForgeSF为大家所熟知,开源项目的大本营,SF托管至少28万个开源项目,一天的下载量超过200万。2.GitHubGitHub托管使用Git版本控制系统的公开和私有项目。 目前该网站托管超过170万存储项目,包括许多开源软件。3.Google CodeGoogle提供免费的使用Subversion或是Mercurial版本控制系统的开源项目托管服务。 它提供2G的存储空间,整合了代码查看工具、wiki、问题跟踪。Google Code站点也提供了大量的Googe自己的APIs和其他开发工具。4.Eclipse Labs同样由Google Code托管, Eclipse La 阅读全文
posted @ 2013-08-16 22:49 Asial 阅读(181) 评论(0) 推荐(0)
摘要:因为项目中要用到左右滑动进每个页面的下一级,用到了给cell添加手势代码如下 UISwipeGestureRecognizer *recognizer; recognizer = [[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(handleSwipeFrom:)]; [recognizer setDirection:(UISwipeGestureRecognizerDirectionLeft)]; [cell.contentView addGestureRecognize... 阅读全文
posted @ 2013-08-13 20:28 Asial 阅读(345) 评论(0) 推荐(0)
摘要:本文转自:http://www.cocoachina.com/bbs/read.php?tid=51242ASIHTTPRequest是一款极其强劲的HTTP访问开源项目。让简单的API完成复杂的功能,如:异步请求,队列请求,GZIP压缩,缓存,断点续传,进度跟踪,上传文件,HTTP认证在新的版本中,还加入了Objective-C闭包Block的支持,让我们的代码更加轻简灵活。下面就举例说明它的API用法。发起一个同步请求同步意为着线程阻塞,在主线程中使用此方法会使应用Hang住而不响应任何用户事件。所以,在应用程序设计时,大多被用在专门的子线程增加用户体验,或用异步请求代替(下面会讲到)。- 阅读全文
posted @ 2013-08-12 17:01 Asial 阅读(215) 评论(0) 推荐(0)
摘要:可以在预编译文件pch里面,生成全局的宏#define iPhone5 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 1136), [[UIScreen mainScreen] currentMode].size) : NO)#define HeightFOR5 548#define HeightFOR4 460#define Width 320 阅读全文
posted @ 2013-08-12 16:45 Asial 阅读(166) 评论(0) 推荐(0)
摘要:简单说一个Block,Block是ios4.0以后推出的一个C级别的语法,自此以后许多方法都有用Block封装,这里有必要介绍一下Block实现简单的代理回调代理文件.h文件#import @interface CustomAlertView : UIView{ void (^buttonClickBlock) (CustomAlertView *); }@property (nonatomic,copy) void (^buttonClickBlock) (CustomAlertView *);@end.m文件- (void)buttonClick{ //... 阅读全文
posted @ 2013-08-10 03:58 Asial 阅读(300) 评论(0) 推荐(0)
摘要:自ios SDK 5.0 苹果引用arc机制 三方库在编译上就出现了问题,这里解决办法可以部分ARC或者部分不选择ARC 方法如下: 如果当前的项目启用了ARC,而引用的第三方类库未使用ARC,那还需要在项目信息的Targets – Build Parses里找到第三方类库的.m文件,并为它们加上-fno-objc-arc标记。 对于在未启用ARC的项目用引用使用了ARC的第三方类库,则需要为第三方类库的.m文件加上-fobjc-arc标记。 另外可以通过一个编译器指令__has_feature(objc_arc)来检测项目是否使用了ARC,具体见http://clang.llvm.org.. 阅读全文
posted @ 2013-08-01 22:18 Asial 阅读(232) 评论(0) 推荐(0)