摘要: http://bbs.csdn.net/topics/390391289 阅读全文
posted @ 2013-04-01 01:13 金建彤 阅读(111) 评论(0) 推荐(0) 编辑
摘要: http://blog.csdn.net/marujunyy/article/details/8588688一.读取图片1.从资源(resource)读取[cpp] view plaincopyUIImage*image=[UIImageimageNamed:@"1.jpg"];2.从网络读取[cpp] view plaincopyNSURL*url=[NSURLURLWithString:@"http://www.sinaimg.cn/qc/photo_auto/chezhan/2012/50/00/15/80046_950.jpg"];UIImage 阅读全文
posted @ 2013-04-01 00:42 金建彤 阅读(281) 评论(0) 推荐(0) 编辑
摘要: http://blog.csdn.net/marujunyy/article/details/8592136iphone自己应用之间调用步骤:1)在plist文件中,注册对外接口 在xcode group&files 里面,展开 resources选择<app>info.plist 鼠标右击information property list ,然后从列表中选择URL types ,右击 add row 添加一个对象(item),右击item add row ,从列表中选择 URLSchemes 再右击添加一个对象(item1),将item1得值设置为:myapp ;这个my 阅读全文
posted @ 2013-04-01 00:32 金建彤 阅读(214) 评论(0) 推荐(0) 编辑
摘要: http://www.cnblogs.com/jiangshiyong/archive/2012/06/06/2538204.html 阅读全文
posted @ 2013-04-01 00:26 金建彤 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 1.NSDate*date=[NSDatedate];NSCalendar*calendar=[NSCalendarcurrentCalendar];NSDateComponents*comps;//年月日comps=[calendarcomponents:(NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit)fromDate:date];NSIntegeryear=[compsyear];NSIntegerrmonth=[compsmonth];NSIntegerday=[compsday];//时分秒comps=[calenda 阅读全文
posted @ 2013-04-01 00:18 金建彤 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 1.音频播放#import <AVFoundation/AVFoundation.h><AVAudioPlayerDelegate>AVAudioPlayer *player;- (IBAction)start:(id)sender { NSError *err=nil; player=[[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"charleston1925_64kb" ofTy 阅读全文
posted @ 2013-04-01 00:13 金建彤 阅读(384) 评论(0) 推荐(0) 编辑
摘要: http://blog.csdn.net/duxinfeng2010/article/details/8265273 linker command failed with exit code 1 (use -v to see invocation)这 个错误貌似遇见并不止一次,当我想用某个第三方类库的时候(如SBJson),我直接把类库文件copy到工程目录里面,然后一编译就出现这样错误(并不 是一定会出这样错误),开始以为是网上下载的类库本身问题,所以重新找类库或者其他方式将它添加进去,只要不出错就行,也一直没有深入了解根本问题,今天 在给工程添加一个FMDB(SQLIte第三方类库)文件. 阅读全文
posted @ 2013-03-29 01:58 金建彤 阅读(262) 评论(0) 推荐(0) 编辑
摘要: http://blog.csdn.net/favormm/article/details/7541953https://github.com/kentnguyen/KNPathTableViewControllerhttps://github.com/applidium/ADLivelyTableViewhttps://github.com/mystcolor/JTRevealSidebarDemohttps://github.com/Inferis/ViewDeckhttps://github.com/thermogl/TISwipeableTableViewhttps://github.c 阅读全文
posted @ 2013-03-28 13:01 金建彤 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 1.当使用别人工程的时候有时候无法通过编译,出现类似这样的错误Code Sign error: The identity 'iPhone Developer' doesn't match any valid, non-expired certificate/private key pair in the default keychain1)看错误大概可以猜到:该工程原来在真机下编译,需要证书认证,再看该工程的scheme,确实是iOS Device2) 修改scheme为iPhone X.0 Simulator,如下操作上图中的Destination只有一个iOS De 阅读全文
posted @ 2013-03-28 11:35 金建彤 阅读(1772) 评论(0) 推荐(0) 编辑
摘要: 开发的过程有时候是简单的,因为我们可以站在巨人的肩上,跳得更高,走得更远。如何用Facebook graphic api上传视频:http://developers.facebook.com/blog/post/532/Keychain保存数据封装:https://github.com/carlbrown/PDKeychainBindingsController对焦功能的实现:http://www.clingmarks.com/?p=612自定义圆角Switch按件:https://github.com/domesticcatsoftware/DCRoundSwitch弹出窗口For ipho 阅读全文
posted @ 2013-03-28 11:15 金建彤 阅读(565) 评论(0) 推荐(0) 编辑
摘要: 1. mutable的数据类型,不能声明为copy的属性,如@property(nonatomic, copy) NSMutableArray *array; @property(nonatomic, copy) NSMutableDictionary *dict;这样的声明,然后再初始化的时候会有问题,self.array = [[NSMutableArray alloc] init]; 其实它在内存中是NSArray的实例。2.如果用下面代码出现一个模态ui,这个模态ui中有UITextField或UITextView的成员,那么会出现keyboard, 如果发送resignFirstrR 阅读全文
posted @ 2013-03-28 11:12 金建彤 阅读(212) 评论(0) 推荐(0) 编辑
摘要: Objective-C和 Core Foundation 对象相互转换的内存管理总结iOS允许Objective-C和 Core Foundation 对象之间可以轻松的转换,拿NSString 和 CFStringRef 来说,直接转换豪无压力:[cpp]view plaincopyprint?CFStringRefaCFString=(CFStringRef)aNSString;NSString*aNSString=(NSString*)aCFString;针对内存管理问题,ARC 可以帮忙管理 Objective-C 对象,但是不支持 Core Foundation 对象的管理,所以转换 阅读全文
posted @ 2013-03-28 10:56 金建彤 阅读(347) 评论(0) 推荐(0) 编辑
摘要: 图片转PDF的实现方法Quartz 2D概述Quartz 2D是Core Grapgics下的2D绘图引擎,适用于iOS和Mac OS X。 它具有强大的绘图功能,提供视角效果渲染,反锯齿渲染,颜色管理,绘制PDF等等。开发者无需考虑不同设备不同分别率的显示效果,因为这一切适配操作Quartz 全都自己包了。具体Quartz可以做些什么,下图给出了最佳答案:图片转PDF的工具类利用Quartz 2D将图片数据转换成图片不失真的PDF,方法我已经封装好:(PDF部分属性未列出,如果有额外需要,需要另行提出赋值)[cpp]view plaincopyprint?////WQPDFManager.. 阅读全文
posted @ 2013-03-28 10:50 金建彤 阅读(599) 评论(0) 推荐(0) 编辑
摘要: 1、把图片移到右下角变小透明使用CAAnimationGroup叠加动画效果,就是下面按钮《把图片移到右下角变小透明》描述的效果: 、上面三个图是动画的三个状态,实现代码如下:[cpp]view plaincopy-(void)viewDidLoad{[superviewDidLoad];self.imageView=[[UIImageViewalloc]initWithImage:[UIImageimageNamed:@"snaguosha.png"]];self.imageView.frame=CGRectMake(10,10,128,192);[self.viewad 阅读全文
posted @ 2013-03-28 10:43 金建彤 阅读(427) 评论(0) 推荐(0) 编辑
摘要: 1、什么是CALayerCALayer是个简单的类,它是用来在屏幕上显示内容展示的矩形区域。靠,这是不描述UIView的话吗?其实他们是有区别的。每个UIView都有一个根CALayer,UIView在这个layer上描绘东西。那怎么访问这个layer呢,很简单:[cpp]view plaincopyCALayer*myLayer=myView.layer;CALayer有这么些属性,可以设置改变层的显示:层的大小和位置层的背景颜色层的内容(图像,core graphics)层的的圆角,半径层的阴影设置等等....2、开始新建项目默认的模版里是QuartzCore库的,先添加它,才能使用CAL 阅读全文
posted @ 2013-03-28 10:35 金建彤 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 框架是一个目录,这个目录包含了共享库,访问共享库里代码的头文件,和其它的图片和声音的资源文件。一个共享库定义的方法或函数可以被应用程序调用。 IOS提供了很多你可以在应用程序里调用的框架。要使用一个框架,需要将它添加到你的项目中,你的项目才可以使用它。许多应用程序都使用了如 Foundation、UIKit、和Core Graphics这些框架。根据你为应用程序选择的模版,相关的框架就已经被自动引入了。如果默认加入的框架不能满足你的应用程序的需求,你也可以加入需 要的框架。 看看HelloWorld.xcodeproj项目里都包含了哪些框架(注:HelloWorld.xcodeproj... 阅读全文
posted @ 2013-03-27 15:36 金建彤 阅读(231) 评论(0) 推荐(0) 编辑
摘要: http://blog.csdn.net/likendsl/article/details/86484822012.4.26更新,加入了ARC前言我通常在自己的博客中不会写太技术性的东西,但这次例外,因为我希望为Mac和iOS(iPhone&iPad)开发者社区做些贡献。如果你不是社区中的一员,请自行绕道吧。介绍这篇文章是在我多年的Objective-C使用经验中所目睹的那些最容易被Objective-C程序员触犯的最佳实践积累下来的一个列 表。我称之为“戒律”,我们有太多理由要去遵守它们,几乎没理由不去遵守。然而当我向其他开发者展示这些实践经验时,他们往往非常反对…强烈反对:这不会 阅读全文
posted @ 2013-03-27 15:19 金建彤 阅读(227) 评论(0) 推荐(0) 编辑
摘要: http://hi.baidu.com/feng20068123/item/ca8952fa661e5342932af2c2写的非常不错,攒一个!!!!我们在进行iOS开发时,经常会在类的声明部分看见类似于@synthesizewindow=_window;的语句,那么,这个window是什么,_window又是什么,两个东西分别怎么用,这是一个比较基本的问题,也关乎我们理解Objective-C中对类、类的属性、类的存取器、类的局部变量的统一理解。在32位系统中,如果类的@interface部分没有进行ivar声明,但有@property声明,在类的@implementation部分有响应的 阅读全文
posted @ 2013-03-27 14:23 金建彤 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 自从有了ARC,就可以使用weak或strong来说明属性是弱引用还是强引用;strong关键字与retain关似,用了它,引用计数自动+1,用实例更能说明一切 1. @property (nonatomic, strong) NSString *string1; 2. @property (nonatomic, strong) NSString *string2; 有这样两个属性, 1. @synthesize string1; 2. @synthesize string2; 猜一下下面代码将输出什么结果? 1. self.string1 = @"String 1";.. 阅读全文
posted @ 2013-03-27 13:47 金建彤 阅读(241) 评论(0) 推荐(0) 编辑
摘要: 一般来说这种情况还是蛮多的,比如你从文件中读入了一个array1,然后想把程序中的一个array2中符合array1中内容的元素过滤出来。正 常傻瓜一点就是两个for循环,一个一个进行比较,这样效率不高,而且代码也不好看。其实一个循环或者无需循环就可以搞定了,那就需要用搞 NSPredicate这个类了~膜拜此类~开始之前要知道NSArray filteredArrayUsingPredicate:NSPredicate] 返回一个新的过滤后的数组[NSMutableArray filterUsingPredicate:NSPredicate] 直接在数组过滤,不返回新数组1)例子一,一个循环 阅读全文
posted @ 2013-03-26 10:48 金建彤 阅读(365) 评论(0) 推荐(0) 编辑
摘要: KVC,即:Key-value coding,它是一种使用字符串标识符,间接访问对象属性的机制,它是很多技术的基础。主要的方法就两个,setValue:forKey,valueForKey在Programming Guide中说,使用KVC可以简化代码,但事实上使用起来,还是要看具体情况。代码实例:1.首先定义两个DataModel,这种DataModel定义是无法访问属性的@interfaceBookData:NSObject{NSString*bookName;floatprice;AuthorData*author;}@end@implementationBookData@end@int 阅读全文
posted @ 2013-03-26 10:30 金建彤 阅读(126) 评论(0) 推荐(0) 编辑
摘要: http://www.cs.usfca.edu/~galles/visualization/HeapSort.htmlvery nice ! 阅读全文
posted @ 2013-03-25 23:44 金建彤 阅读(115) 评论(0) 推荐(0) 编辑
摘要: int arry[]={1,4,9,4,8,2,7,43,3,2}; int acount=sizeof(arry); int aocount=sizeof(arry[0]); int n=(acount/aocount); int k; k=n/2; int t; while(k>0) { for(i=k;i<n;i++) { t=arry[i]; j=i-k; while(j>=0&&t<arry[j]) { arry[j+k]=arry[j]; j=j-k; } arry[j+k]=t; } k/=2; } for (int i=0;i<n; 阅读全文
posted @ 2013-03-25 23:08 金建彤 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 简单选择排序不稳定 时间复杂度为o(n2)void SelectSort(SeqList * _pList){ int nMinIndex; //记录最小数字的下标for(int i=0; i<_pList->nLength-1; i++){ nMinIndex=i;for(int j=i+1; j<_pList->nLength; j++){ if(_pList->data[j]<_pList->data[nMinindex]){ nMinIndex=j;}}int nTemp=0;if(nMinIndex !=i){ nTemp=_pList-&g 阅读全文
posted @ 2013-03-25 22:29 金建彤 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 冒泡排序,它的时间复杂度为O(n^2),虽然不及堆排序、快速排序的O(nlogn,底数为2),但是有两个优点:1.“编程复杂度”很低,很容易写出代码;2.具有稳定性,这里的稳定性是指原序列中相同元素的相对顺序仍然保持到排序后的序列,而堆排序、快速排序均不具有稳定性。不过,一路、二路归并排序、不平衡二叉树排序的速度均比冒泡排序快,且具有稳定性,但速度不及堆排序、快速排序。冒泡排序是经过n-1趟子排序完成的,第i趟子排序从第1个数至第n-i个数,若第i个数比后一个数大(则升序,小则降序)则交换两数实例:void BobbleSort (SeqList* _pList){ bool bExchang 阅读全文
posted @ 2013-03-25 22:16 金建彤 阅读(157) 评论(0) 推荐(0) 编辑
摘要: http://blog.csdn.net/caryaliu/article/details/7475700 阅读全文
posted @ 2013-03-25 21:26 金建彤 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 1.xml解析要解析的xml文件 <?xml version="1.0" encoding="UTF-8"?><Books> <Book ISBN="032188728X"> <title>Programming in Objective-C</title> <author>Stephen G. Kochan</author> <summary>Programming in Objective-C is a concise, careful 阅读全文
posted @ 2013-03-25 21:14 金建彤 阅读(398) 评论(1) 推荐(0) 编辑
摘要: 先看概念详解:http://blog.csdn.net/remote_roamer/article/details/7015826//表格结构 --> NSEntityDescription//数据库中所有表格和他们的联系 -->NSManagedObjectModel//数据库存放方式 --> NSPersistentStoreCoordinator//数据库操作 --> NSManagedObjectContext//查询语句 --> NSFetchRequest//表格的记录 --> NSManagedObject有一个学生类叫Student里面有na 阅读全文
posted @ 2013-03-25 20:30 金建彤 阅读(225) 评论(0) 推荐(0) 编辑
摘要: Ios提供了copy和mutablecopy方法,顾名思义,copy就是复制了一个imutable的对象,而mutablecopy就是复制了一个mutable的对象。以下将举几个例子来说明。 1. 系统的非容器类对象 这里指的是NSString,NSNumber等等一类的对象。 NSString *string = @"origion"; NSString *stringCopy = [string copy]; NSMutableString *stringMCopy = [string mutableCopy]; [stringMCopy appendString:@& 阅读全文
posted @ 2013-03-25 13:06 金建彤 阅读(268) 评论(0) 推荐(0) 编辑
摘要: 线程同步:1,原子操作2,内存屏蔽和volatile变量只确保每次操作都是从内存中获取信息,而不用寄存器内保存的数据OSMemoryBarrier函数,设置内存屏蔽volatile变量线程安全设计技巧:===代码一---有风险的代码 NSLock* arrayLock = [selfGetArrayLock]; NSMutableArray* myArray =GetSharedArray(); idanObject; [arrayLocklock]; anObject = [myArrayobjectAtIndex:0]; [arrayLockunlock]; //在处理doSomet... 阅读全文
posted @ 2013-03-25 10:26 金建彤 阅读(541) 评论(0) 推荐(0) 编辑
摘要: http://blog.csdn.net/fengsh998/article/details/8691823 阅读全文
posted @ 2013-03-25 09:58 金建彤 阅读(136) 评论(0) 推荐(0) 编辑
摘要: http://www.cnblogs.com/limlee/archive/2012/06/21/2547582.html一、KVOKey-Value Observing,它提供一种机制,当指定的对象的属性被修改后,则对象就会接受到通知。每次指定的被观察的对象的属性被修改后,KVO自动通知相应的观察者。model中的定义:@interface StockData : NSObject { NSString * stockName; float price;}@end@implementation StockData@endcontroller中使用,记得上一篇怎么说的吗?这里相当于... 阅读全文
posted @ 2013-03-25 00:34 金建彤 阅读(139) 评论(0) 推荐(0) 编辑
摘要: http://www.cocoachina.com/bbs/read.php?tid=751220CGContextRef context = UIGraphicsGetCurrentContext(); 设置上下文1 CGContextMoveToPoint 开始画线2 CGContextAddLineToPoint 画直线4 CGContextAddEllipseInRect 画一椭圆4 CGContextSetLineCap 设置线条终点形状4 CGContextSetLineDash 画虚线4 CGContextAddRect 画一方框4 CGContextStrokeRect 指定矩 阅读全文
posted @ 2013-03-25 00:25 金建彤 阅读(283) 评论(0) 推荐(0) 编辑
摘要: http://www.cnblogs.com/fkdd/archive/2012/03/14/2396284.html1.伪继承 尽管再objtive-C中不提供多继承,但它提供了另外一种解决方案,使对象可以响应在其它类中实现的消息(别的语言中,一般叫方法,两者无差别). 这种解决方案叫做消息转发,它可以使一个类响应另外一个类中实现的消息。 在一般情况下,发送一个无法识别的消息会产生一个运行时的错误,导致应用程序崩溃,但是注意,在崩溃之前,iphone运行时对象为每个对象提供了第二次机会来处理消息。捕捉到一条消息后可以把它重定向到可以响应该消息的对象。 这个功能完全通过消息转发来实现,发送消息 阅读全文
posted @ 2013-03-25 00:19 金建彤 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 虽然ARC引入之后NSAutoReleasePool的使用有了很大变化,但是了解NSAutoReleasePool的机制还是十分必要的,下面主要说一下:一个”Autorelease Pool”实例中“包含”其它各种调用了”autorelease”方法的对象。当它释放时,其中所有被管理对象都会收到”relrease”的消信。注意,同一个对象可以被多次调用”autorelease”方法,并可以放到同一个”Autorelease Pool”中。引入这个自动释放池机制,对象的”autorelease”方法代替”relrease”方法可以延长它的生命周期,直接到当前”Autorelrease Pool” 阅读全文
posted @ 2013-03-25 00:00 金建彤 阅读(594) 评论(0) 推荐(0) 编辑
摘要: http://www.cnblogs.com/limlee/archive/2012/06/13/2547537.html模型-视图-控制器这个模式其实应该叫做MCV,用控制器把model与view隔开才对,也就是model与view互相不知道对方的存在,没有任何瓜葛,他们就像一个团队里吵了架的同事,如果有项目需要他俩来参与,那么最好有第三者来管理他俩之间的沟通与协调。这个第三者就是控制器。既然管理,那么姑且就把这个控制器提做项目经理吧,这样的话让他俩干啥就得干啥。就像斯坦福老头说的视图就是控制器的狗腿子。让我们来欣赏一下这张图(摘自斯坦福公开课的课件):先撇开那些乱七八糟的箭头单看他们之间的 阅读全文
posted @ 2013-03-24 23:38 金建彤 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 1.NSThread 偏底层NSString * mystr=@"asdf";[NSThread detachNewThreadSelector:@selector(myfun:) toTarget:self withObject:mystr];//开启一个线程来执行myfun函数-(void) myfun:(NSString * ) str{NSLog(@"%@",str);//一系列操作后回到主线程(UI线程)[self performSelectorOnMainThread:@selector(myfunonmainthread) withObje 阅读全文
posted @ 2013-03-23 16:18 金建彤 阅读(325) 评论(0) 推荐(0) 编辑
摘要: 大学四年浪费的代价。。。半夜整理东西CPU:其功能主要是解释计算机指令以及处理计算机软件中的数据。CPU由运算器、控制器和寄存器及实现它们之间联系的数据、控制及状态的总线构成。差不多所有的CPU的运作原理可分为四个阶段:提取(Fetch)、解码(Decode)、执行(Execute)和写回(Writeback)。 CPU从存储器或高速缓冲存储器中取出指令,放入指令寄存器,并对指令译码,并执行指令。所谓的计算机的可编程性主要是指对CPU的编程。运算器运算器由:算术逻辑单元(ALU)、累加器、状态寄存器、通用寄存器组等组成。算术逻辑运算单元(ALU)的基本功能为加、减、乘、除四则运算,与、或、非、 阅读全文
posted @ 2013-03-23 02:27 金建彤 阅读(221) 评论(0) 推荐(0) 编辑
摘要: http://baike.baidu.com/view/608706.htm寄存器变量:http://baike.baidu.com/view/3792358.htm它是被设计用来修饰被不同线程访问和修改的变量。如果没有volatile,基本上会导致这样的结果:要么无法编写多线程程序,要么编译器失去大量优化的机会。volatile的作用: 作为指令关键字,确保本条指令不会因编译器的优化而省略,且要求每次直接读值.简单地说就是防止编译器对代码进行优化.比如如下程序推荐一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用 阅读全文
posted @ 2013-03-23 02:10 金建彤 阅读(2116) 评论(0) 推荐(0) 编辑
摘要: http://blog.csdn.net/mars2639/article/details/7283741staticSingleton*sharedInstance=nil;@implementationSingleton//获取单例+(Singleton*)sharedInstanceMethod{@synchronized(self){if(sharedInstance==nil) sharedInstance=[[selfalloc]init];}}returnsharedInstance;}//唯一一次alloc单例,之后均返回nil+(id)allocWithZone:(NSZon 阅读全文
posted @ 2013-03-22 21:47 金建彤 阅读(191) 评论(0) 推荐(0) 编辑