摘要: 一些iOS高效开源类库KissXml——xml解析库相关教程:http://www.iteye.com/topic/625849http://sencho.blog.163.com/blog/static/83056228201151743110540/很方便的一个xml解析器,支持Xpath查询。 skpsmtpmessage——Quick SMTP邮件发送svn checkout http://skpsmtpmessage.googlecode.com/svn/trunk/ skpsmtpmessage-read-onlygithub: git clone https://github.. 阅读全文
posted @ 2013-05-03 16:14 金建彤 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 关于UIView的触摸响应事件中,这里有一个常常容易迷惑的方法hitTest:WithEvent。先来看官方的解释:ThismethodtraversestheviewhierarchybysendingthepointInside:withEvent:messagetoeachsubviewtodetermine whichsubviewshouldreceiveatouchevent.IfpointInside:withEvent:returnsYES,thenthesubview’shierarchyistraversed;otherwise,itsbranchoftheviewhie. 阅读全文
posted @ 2013-05-03 14:12 金建彤 阅读(1672) 评论(0) 推荐(0) 编辑
摘要: 1.GitHub上创建账号2.https://github.com/new创建Repository name3. 打开Xcode,选择第二项Connect to a repository:4. 把repository克隆到本地目录下,比如桌面的TTImagePicker:5. 新建一个Xcode工程,保存到刚才新建的TTImagePicker目录下。这里不要勾选下面这个选项:6. 编辑工程,比如添加文件,编写代码之类的。7. File -> Source Control -> Commit8. File -> Source Control -> Push完。 阅读全文
posted @ 2013-04-26 10:07 金建彤 阅读(200) 评论(0) 推荐(0) 编辑
摘要: IOS中,必须经过用户同意才能访问用户的地理位置(CLLocationManager),这一过程是由系统控制的,在第一次请求时为自动询问用户,如果能够向用户展示自己使用坐标的原因,而非恶意访问,用户体验会好很多。View Row Code CLLocationManager *_locmanager = [[CLLocationManager alloc] init]; _locmanager.delegate = self; _locmanager.purpose = @"请允许访问你的位置,不然,没法干了。"; [_locmanager startUpdatingLoc 阅读全文
posted @ 2013-04-26 04:58 金建彤 阅读(298) 评论(0) 推荐(0) 编辑
摘要: -(void)regNotification{[[NSNotificationCenterdefaultCenter]addObserver:selfselector:@selector(keyboardWillChangeFrame:)name:UIKeyboardWillChangeFrameNotificationobject:nil];}-(void)unregNotification{[[NSNotificationCenterdefaultCenter]removeObserver:selfname:UIKeyboardWillChangeFrameNotificationobje 阅读全文
posted @ 2013-04-26 04:39 金建彤 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 1.main( ){int a[5]={1,2,3,4,5};int *ptr=(int *)(&a+1);printf("%d,%d",*(a+1),*(ptr-1));}答:2,5*(a+1 就是a[1] *(ptr-1)就是a[4],执行结果是25 &a+1不是首地址+1系统会认为加一个a数组的偏移是偏移了一个数组的大小本例是5个int int *ptr=(int *)(&a+1); 则ptr实际是&(a[5]),也就是a+5 原因如下 &a是数组指针其类型为 int (*)[5]; 而指针加1要根据指针类型加上一定的值 阅读全文
posted @ 2013-04-25 11:38 金建彤 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 在之前的学习笔记《IOS学习笔记33—XML解析之KissXML的使用》 中介绍了如何解析XML格式的数据,今天简要介绍下如何解析JSON格式的数据,JSON数据结构以其轻量化的结构体和良好的可读性被越来越广泛的运用, 特别在移动开发上,手机的流量是宝贵资源,更要求使用轻量级的数据格式进行数据传输。关于在iOS平台上进行JSON解析,已经有很多第三方的开源项目, 比如SBJson、JSONFramwork等,用的也非常广泛,自从iOS5.0以后,苹果推出了SDK自带的JSON解决方案 NSJSONSerialization,这是一个非常好用的JSON生成和解析工具,效率也是比其他第三方开源项目 阅读全文
posted @ 2013-04-24 05:52 金建彤 阅读(670) 评论(0) 推荐(0) 编辑
摘要: NSDate的常用用法1.创建或初始化可用以下方法用于创建NSDate实例的类方法有 + (id)date;返回当前时间 + (id)dateWithTimeIntervalSinceNow:(NSTimeInterval)secs;返回以当前时间为基准,然后过了secs秒的时间 + (id)dateWithTimeIntervalSinceReferenceDate:(NSTimeInterval)secs;返回以2001/01/01 GMT为基准,然后过了secs秒的时间 + (id)dateWithTimeIntervalSince1970:(NSTimeInterval)secs;返回 阅读全文
posted @ 2013-04-23 13:36 金建彤 阅读(417) 评论(0) 推荐(0) 编辑
摘要: #import + (NSString *)sha1:(NSString *)str { const char *cstr = [str cStringUsingEncoding:NSUTF8StringEncoding]; NSData *data = [NSData dataWithBytes:cstr length:str.length]; uint8_t digest[CC_SHA1_DIGEST_LENGTH]; CC_SHA1(data.bytes, data.length, digest); NSMutableString* output = [NSMutableStrin... 阅读全文
posted @ 2013-04-23 13:17 金建彤 阅读(616) 评论(0) 推荐(0) 编辑
摘要: 相信不少朋友用过UIWebView,webView下载的图片一般比较大,这个要能缓存就好了,可以大幅度提高加载速度,同时为用户节省流量。本文就是讲如何完美解决webView缓存的问题。实际上,UIWebView自己是有缓存的,但容量有限,清理时间我们也不好掌握,那它是用什么做的缓存呢?是NSURLCache。看到它有几个方法:+(void)setSharedURLCache:(NSURLCache*)cache;-(NSCachedURLResponse*)cachedResponseForRequest:(NSURLRequest*)request;-(void)storeCachedRes 阅读全文
posted @ 2013-04-23 13:06 金建彤 阅读(3605) 评论(0) 推荐(0) 编辑
摘要: http://blog.csdn.net/totogo2010/article/details/8233565 阅读全文
posted @ 2013-04-19 21:28 金建彤 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 前者使用property的点操作符,也就相当于调用了abc对应的set method,和这句是一样的:[self setAbc:nil];而后者没有通过property,直接访问了成员变量,调用了它的release方法。对于set method来说,用synthesize来让系统帮我们生成的set方法和如下的类似:- (void)setAbc:(id)newAbc{ if(_abc != newAbc){ [_abc release]; _abc = [newAbc retain]; //是retain还是copy取决于你property声明时的attributes }}如果新值和成员相等,. 阅读全文
posted @ 2013-04-16 12:11 金建彤 阅读(284) 评论(0) 推荐(0) 编辑
摘要: http://blog.csdn.net/zhangao0086/article/details/7580654有时候我们可能需要复制UILabel上的文本,或者UIImageView的图片,而UILabel和UIImageView默认是不响应Touch事件的,也无法复制,那么我们就需要自己实现一个可复制的UILabel。新添加一个类继承自UILabel:@interfaceUICopyLabel:UILabel@end#import"UICopyLabel.h"@implementationUICopyLabel@end为了能接收到事件(能成为第一响应者),我们需要覆盖一 阅读全文
posted @ 2013-04-16 11:29 金建彤 阅读(337) 评论(0) 推荐(0) 编辑
摘要: //组装数据 array=[[NSMutableArray alloc] initWithCapacity:11]; NSMutableDictionary *dir6=[[NSMutableDictionary alloc] initWithCapacity:1]; [dir6 setObject:@"曹磊" forKey:@"FriendName"]; [dir6 setObject:@"曹磊" forKey:@"FriendID"]; [array addObject:dir6]; [dir6 release 阅读全文
posted @ 2013-04-16 00:47 金建彤 阅读(701) 评论(0) 推荐(0) 编辑
摘要: 集合(set)是一组单值对象,它可以是固定的(NSSet)、也可以是可变的(NSMutableSet)。集合可以比较、计算交集、并集,可变集合还可以有查找、添加、删除。二、常用方法#import<Foundation/Foundation.h>intmain(intargc,char*argv[]){NSAutoreleasePool*pool=[[NSAutoreleasePoolalloc]init];//集合比较、修改NSSet*set1=[NSSetsetWithObjects:@"s1",@"s2",@"s3", 阅读全文
posted @ 2013-04-16 00:19 金建彤 阅读(427) 评论(0) 推荐(0) 编辑
摘要: http://differentisnotdifferent.diandian.com/post/2012-07-30/40032320467这个函数让我在纸上画了半天才搞明白,把我的理解给大家分享下。void CGContextAddArc(CGContextRef c, CGFloat x, CGFloat y, CGFloat radius, CGFloat startAngle, CGFloat endAngle, int clockwise)CGContextRef不解释了,x,y为圆点坐标,startAngle为开始的弧度,endAngle为 结束的弧度,clockwise 0为顺 阅读全文
posted @ 2013-04-15 01:45 金建彤 阅读(168) 评论(0) 推荐(0) 编辑
摘要: http://www.cnblogs.com/qiqibo/archive/2012/09/04/2669987.htmlPaths中的几个重要元素Pointsvoid CGContextMoveToPoint ( CGContextRef c, CGFloat x, CGFloat y);指定一个点成为current pointQuartz会跟踪current point一般执行完一个相关函数后,current point都会相应的改变.Lines相关的几个函数void CGContextAddLineToPoint ( CGContextRef c, CGFloat x, CGFloat 阅读全文
posted @ 2013-04-15 01:44 金建彤 阅读(284) 评论(0) 推荐(0) 编辑
摘要: 我知道的实现方法有三种。1、通过image mask来操作,需要添加mask目标图片。2、通过imageview的layer来操作如下代码[cpp] view plaincopyprint?UIImageView*imageView=[[UIImageViewalloc]initWithImage:[UIImageimageNamed:@"oiuyfdsa.png"]];imageView.frame=CGRectMake(20.f,20.f,100.f,100.f);imageView.layer.masksToBounds=YES;imageView.layer.cor 阅读全文
posted @ 2013-04-15 01:43 金建彤 阅读(266) 评论(0) 推荐(0) 编辑
摘要: 0CGContextRef context = UIGraphicsGetCurrentContext(); 设置上下文1 CGContextMoveToPoint 开始画线2 CGContextAddLineToPoint 画直线4 CGContextAddEllipseInRect 画一椭圆4 CGContextSetLineCap 设置线条终点形状4 CGContextSetLineDash 画虚线4 CGContextAddRect 画一方框4 CGContextStrokeRect 指定矩形4 CGContextStrokeRectWithWidth 指定矩形线宽度4 CGConte 阅读全文
posted @ 2013-04-15 01:41 金建彤 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 画虚线需要用到函数:CGContextSetLineDash此函数需要四个参数:context– 这个不用多说phase- 稍后再说lengths– 指明虚线是如何交替绘制,具体看例子count–lengths数组的长度CGContextRefcontext=UIGraphicsGetCurrentContext();CGContextBeginPath(context);CGContextSetLineWidth(context,2.0);CGContextSetStrokeColorWithColor(context,[UIColorwhiteColor].CGColor);floatle 阅读全文
posted @ 2013-04-15 01:39 金建彤 阅读(163) 评论(0) 推荐(0) 编辑
摘要: KVO键值观察机制,就是MVC中Model变化的时候通知View更新,使用该机制避免了胶水代码,即在任何数据更新的地方都得写更新UI的更新代码。 具体系统系统:NSObject,NSArray,NSSet三种KVO机制,API如下@interface NSObject(NSKeyValueObserverRegistration)/* Register or deregister as an observer of the value at a key path relative to the receiver. The options determine what is included i 阅读全文
posted @ 2013-04-13 13:09 金建彤 阅读(315) 评论(0) 推荐(0) 编辑
摘要: 1. 把CoreServices从工程中移除2. 加入头文件 <CFNetwork/CFNetwork.h>3. 加入两个frameworks: CFNetwork 和SystemConfiguration现在如果你编译的话,在MyCFStreamSetFTPProxy中还会有两个错误。然后用proxyDict = CFNetworkCopySystemProxySettings(NULL)取代proxyDict = SCDynamicStoreCopyProxies(NULL)。然后注释掉passiveMode 那一行或者将passiveMode设置为TRUE。然后编译就可以通过 阅读全文
posted @ 2013-04-11 10:59 金建彤 阅读(251) 评论(0) 推荐(0) 编辑
摘要: -(void)viewDidLoad{UISwipeGestureRecognizer *recognizer;recognizer = [[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(handleSwipeFrom:)]; [recognizer setDirection:(UISwipeGestureRecognizerDirectionRight)]; [[selfview] addGestureRecognizer:recognizer];[recognizer release]; rec... 阅读全文
posted @ 2013-04-11 09:53 金建彤 阅读(141) 评论(0) 推荐(0) 编辑
摘要: #import<AssetsLibrary/AssetsLibrary.h>-(void)getImgs{ dispatch_async(dispatch_get_main_queue(), ^{ NSAutoreleasePool *pool = [[NSAutoreleasePoolalloc]init]; ALAssetsLibraryAccessFailureBlock failureblock = ^(NSError *myerror){ NSLog(@"相册访问失败 =%@", [myerrorlocalizedDescription]); ... 阅读全文
posted @ 2013-04-11 09:51 金建彤 阅读(278) 评论(0) 推荐(0) 编辑
摘要: NSString *dateStr=[dic objectForKey:@"date"];// 2012-05-17 11:23:23 NSCalendar *gregorian = [[NSCalendaralloc] initWithCalendarIdentifier:NSGregorianCalendar]; NSUInteger unitFlags = NSMonthCalendarUnit | NSDayCalendarUnit; NSDateFormatter *format=[[NSDateFormatteralloc] init]; [format set 阅读全文
posted @ 2013-04-11 09:50 金建彤 阅读(395) 评论(0) 推荐(0) 编辑
摘要: 1 登录网站,进入ios Dev Center--ios Provisioning Portal--点击provisioning--Distribution--New profile--填写profile Name(如:test_Distribution),选择App ID(真机测试时)--点击Submit--刷新页面--2 这时打开xcode -organizer-Development--Provisioning Profile会看到有test_Distribution 打开项目--info--Cofiguration下面的show选择Edit Cofiguration--点击下面的Dup 阅读全文
posted @ 2013-04-11 09:44 金建彤 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 在project-setting中找到 “Run Static Analyzer” 键,然后把值修改为“YES”.这样在编码的时候,xcode就可以自动为我们检查内存泄露了.分享到: 阅读全文
posted @ 2013-04-11 09:43 金建彤 阅读(117) 评论(0) 推荐(0) 编辑
摘要: http://blog.csdn.net/shijiucdy/article/details/8747249基本上有两种类型的崩溃可能发生:SIGABRT(也称为EXC_CRASH)和EXC_BAD_ACCESS1 异常断点第一步第二步第三步2Zombies第一步第二步附:运行并静态分析内存 阅读全文
posted @ 2013-04-11 09:41 金建彤 阅读(142) 评论(0) 推荐(0) 编辑
摘要: //字体大小 [webView stringByEvaluatingJavaScriptFromString:@"document.getElementsByTagName('body')[0].style.webkitTextSizeAdjust= '200%'"]; //字体颜色 [webView stringByEvaluatingJavaScriptFromString:@"document.getElementsByTagName('body')[0].style.webkitTextFillColor= 阅读全文
posted @ 2013-04-11 09:38 金建彤 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 非ARC项目转换成ARC Edit-->Refactor-->Convert to Objective-C ARC...-->Check-->Next-->Save-->(若有提示Continue)ARC与非ARC在一个项目中同时使用, http://blog.csdn.net/shijiucdy/article/details/8775997Targets-->Target-->Build Phases--->Complie Sources中选择需要ARC的文件双击,并在输入框中输入:-fobjc-arc,如果不要ARC则输入:-fno- 阅读全文
posted @ 2013-04-11 09:37 金建彤 阅读(118) 评论(0) 推荐(0) 编辑
摘要: http://blog.csdn.net/caryaliu/article/details/7658536向输出流写数据 使用NSOutputStream实例需要以下几个步骤:1,使用存储写入数据的存储库创建和初始化一个NSOutputSteam实例,并且设置它的delegate。2,将这个流对象布置在一个runloop上并且open the stream。3,处理流对象向其delegate发送的事件消息。4,如果流对象向内存中写入了数据,那么可以通过使用NSStreamDataWrittenToMemoryStreamKey属性获取数据。5,当没有数据可供写入时,清理流对象。一,使用流对象的 阅读全文
posted @ 2013-04-09 00:31 金建彤 阅读(655) 评论(0) 推荐(0) 编辑
摘要: http://blog.csdn.net/likendsl/article/details/83489391、文件的创建-(IBAction) CreateFile{//对于错误信息NSError *error;//创建文件管理器NSFileManager *fileMgr = [NSFileManager defaultManager];//指向文件目录NSString *documentsDirectory= [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"]; //创建一个目录[[NSFile 阅读全文
posted @ 2013-04-08 02:38 金建彤 阅读(565) 评论(0) 推荐(0) 编辑
摘要: 通常,表格单元格的定制如下列代码所示。这个例子来自于NavigationBased app项目模板,我在单元格的标签上加入文本"Row"。// Customize the appearance of table view cells.- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *CellIdentifier = @"Cell"; UITableViewCell 阅读全文
posted @ 2013-04-05 01:21 金建彤 阅读(240) 评论(0) 推荐(0) 编辑
摘要: http://www.cnblogs.com/iphone520/archive/2012/04/26/2471439.html1 UIView全局拍照- (UIImage *) screenImage:(UIView *)view {UIImage *screenImage;UIGraphicsBeginImageContext(view.frame.size);[view.layer renderInContext:UIGraphicsGetCurrentContext()];screenImage = UIGraphicsGetImageFromCurrentImageContext() 阅读全文
posted @ 2013-04-04 00:42 金建彤 阅读(126) 评论(0) 推荐(0) 编辑
摘要: http://blog.csdn.net/pjk1129/article/details/7255163静态库百科解释:程序编译一般需经预处理、编译、汇编和链接几个步骤。在我们的应用中,有一些公共代码是需要反复使用,就把这些代码编译为“库”文件;在链接步骤中,连接器将从库文件取得所需的代码,复制到生成的可执行文件中。这种库称为静态库,其特点是可执行文件中包含了库代码的一份完整拷贝;缺点就是被多次使用就会有多份冗余拷贝。静态库和动态库是两种共享程序代码的方式,它们的区别是:静态库在程序的链接阶段被复制到了程序中,和程序运行的时 候没有关系;动态库在链接阶段没有被复制到程序中,而是程序在运行时由系 阅读全文
posted @ 2013-04-03 02:17 金建彤 阅读(144) 评论(0) 推荐(0) 编辑
摘要: http://blog.sina.com.cn/s/blog_6f40a0e70100w2q4.html1//创建字符串对象数组NSArray *array = [strcomponentsSeparatedByString:@"@"];//就是以@为标示 输出看看啦int count=[array count];int i;for(i=0;i<count;i=i+4){ printf("%i: %s\n",i,[[arrayobjectAtIndex:i] UTF8String]);}2 可变的字符串类NSMutableString *song= 阅读全文
posted @ 2013-04-02 23:24 金建彤 阅读(346) 评论(0) 推荐(0) 编辑
摘要: http://blog.csdn.net/toss156/article/details/7552075 UIAlertView 是一个十分常用的控件,网上也有好多类似的自定义AlertView的方法。但是感觉效果都不是很好,它们有的是在系统自带的上面添加文本框,也有的是完全自己用UIView来实现,还有的就是继承了UIAlertView 。 今天给大家带来的这个UIAlertView ,它也是继承了UIAlertView,然后屏蔽了系统的背景图片,和 按钮,然后自己添加,事件响应,从而完成了样式的自定义,这样做的好处是保留了 UIAlertView的模态窗口。最终的效果图:[cpp] vie 阅读全文
posted @ 2013-04-01 16:48 金建彤 阅读(325) 评论(0) 推荐(0) 编辑
摘要: http://blog.csdn.net/toss156/article/details/7380420 UI界面类项目:Panoramagl —— 720全景展示Panorama viewer library for iPhone, iPad and iPod touchMBProgressHUD —— 进度指示一种优雅的,半透明的进度显示效果。同时还提供了其他附加功能,比如显示完成信息并淡出。iCarousel —— 效果很酷的分页排列内容类似的页面需要并排列出来,供用户选择。iCarousel具有非常酷的3D效果,比如经典的CoverFlow, TimeMachine。另外还具有线性,圆 阅读全文
posted @ 2013-04-01 16:44 金建彤 阅读(537) 评论(0) 推荐(0) 编辑
摘要: CocoaAsyncSocket支持tcp和udp。其中:AsyncSocket类是支持TCP的AsyncUdpSocket是支持UDP的AsyncSocket是封装了CFSocket和CFSteam的TCP/IP socket网络库。它提供了异步操作,本地cocoa类的基于delegate的完整支持。主要有以下特性:队列的非阻塞的读和写,而且可选超时。你可以调用它读取和写入,它会当完成后告知你自动的socket接收。如果你调用它接收连接,它将为每个连接启动新的实例,当然,也可以立即关闭这些连接委托(delegate)支持。错误、连接、接收、完整的读取、完整的写入、进度以及断开连接,都可以通过 阅读全文
posted @ 2013-04-01 14:47 金建彤 阅读(1422) 评论(0) 推荐(0) 编辑
摘要: 旧工程配置arc方案:1,直接在targets->build phases中修改compiler Flags,是否支持arc。添加:-fobjc-arc,就可以让旧项目支持arc。如果想让原来支持arc的不使用arc则添加-fno-objc-arc2,因为在build phases中可以改变是否支持arc,所以应该在代码中添加判断是否支持arc,这样不管以后.m的arc是否改变,都不用再次调整代码。1,arc的设置是在build phases中修改compiler Flags的值。2,如果使用了arc,在你的代码中不可以使用retain, release, autorelease,如果使 阅读全文
posted @ 2013-04-01 12:46 金建彤 阅读(151) 评论(0) 推荐(0) 编辑