随笔分类 -  iPhone

摘要:#import <AVFoundation/AVFoundation.h> 需要引入 //获取document目录的路径- (NSString*) documentsPath { if (! _documentsPath) { NSArray *searchPaths = NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES); _documentsPath = [searchPaths objectAtIndex: 0]; [_documentsPath retain]; } 阅读全文
posted @ 2011-03-11 14:06 子非あ鱼 阅读(4726) 评论(0) 推荐(0) 编辑
摘要:保存你的私钥,转移到其它系统将你的私钥安全的保存,如果你需要在多台电脑上开发或者重装你的操作系统的。如果没有私钥,那么将无法再Xcode签名或者在apple设备上测试应用。当一个CSR被生成,Keychain Access应用在你的登录keychain里面生成一个私钥,这个私钥是和你的用户账户关联的,如果在系统重装的时候是无法重新生成的。如果你希望在多个系统上做开发或者测试,那么你需要在所有你工作的系统之上导入你的私钥。1、 导出私钥和数字证书是为安全保存和能够在多台电脑上进行工作。打开Keychain Access应用选择’KEY’分类。2、 右键点击和你iphone开发证书关联的私钥,并在 阅读全文
posted @ 2011-02-25 10:47 子非あ鱼 阅读(4849) 评论(1) 推荐(0) 编辑
摘要:在iPhone程序使用正则表达式,主要以来于NSRegularExpression类。废话不多说了,下面给个利用正则表达式来替换文本内容的代码://以替换html元素<a href="Xxxx">Yyyy</a>中的标签为例。- (NSString *)removeTag:(NSString *)srcStr {NSError *error = nil;NSMutableString *dest = [NSMutableString stringWithCapacity:0];NSRegularExpression *regex = [NSRegul 阅读全文
posted @ 2011-02-23 16:42 子非あ鱼 阅读(742) 评论(0) 推荐(0) 编辑
摘要:1. 去RegexKitLite下 载类库,解压出来会有一个例子包及2个文件,其实用到的就这2个文件,添加到工程中。2.工程中添加libicucore.dylib frameworks。3.现在所有的nsstring对象就可以调用RegexKitLite中的方法了。NSString *email = @”kkk@aaa.com”;[email isMatchedByRegex:@"\\b([a-zA-Z0-9%_.+\\-]+)@([a-zA-Z0-9.\\-]+?\\.[a-zA-Z]{2,6})\\b”];返 回YES,证明是email格式,需要注意的是RegexKitLite用 阅读全文
posted @ 2011-02-23 16:03 子非あ鱼 阅读(458) 评论(0) 推荐(0) 编辑
摘要:正则表达式是我非常常用的编程工具, 以前不管是在Ruby还是C#中使用率都非常高. 现在开始学习Cocoa之后就一直想知道如何使用正则表达式, 在Cocoa自带的库里面找了很久居然发现没有相应的支持库(BS一下, 这种常用的东西居然没有, 也不知道苹果是怎么想的….).上网找了不少各式各样的库, 用下来要么体积太大, 要么结构设计的不舒服, 最后把目标锁定在了 OgreKit 上.是的, 这是一个日本程序员写的东西(无差别仇日的人可以走开了), 最让我头疼的一点就是没有英文文档…. 就连代码里面的注释都是日文的, 还好方法命名非常合理, 靠猜基本都能猜对.下面介绍一下主要的类:OGRegula 阅读全文
posted @ 2011-02-23 15:11 子非あ鱼 阅读(1733) 评论(0) 推荐(0) 编辑
摘要:开发过程中,我们会遇到很多关于字符串的操作,它是一个常用的数据类型,下面对它的用法进行了汇总: //1、创建常量字符串。 NSString *astring = @"This is a String!"; //2、创建空字符串,给予赋值。 NSString *astring = [[NSString alloc] init]; astring = @"This is a String!"; NSLog(@"astring:%@",astring); [astring release];//3、在以上方法中,提升速度:initWithS 阅读全文
posted @ 2011-02-23 14:35 子非あ鱼 阅读(2641) 评论(0) 推荐(0) 编辑
摘要:如果你能够真正的理解autorelease,那么你才是理解了Objective c的内存管理。Autorelease实际上只是把对release的调用延迟了,对于每一个Autorelease,系统只是把该Object放入了当前的Autorelease pool中,当该pool被释放时,该pool中的所有Object会被调用Release。实际上对于 [NSString stringWithFormat:] 这类构造函数返回的对象都是autorelease的。2.2) autorelease pool来避免频繁申请/释放内存(就是pool的作用了)。这个应该是相对比较好理解的。总结:1)一定. 阅读全文
posted @ 2011-02-22 17:16 子非あ鱼 阅读(3355) 评论(2) 推荐(3) 编辑
摘要:隐藏:[self.navigationController setNavigationBarHidden:NO animated:YES];显示:[self.navigationController setNavigationBarHidden:YES animated:YES];隐藏返回键 self.navigationItem.hidesBackButton = YES; 阅读全文
posted @ 2010-12-27 12:00 子非あ鱼 阅读(9219) 评论(2) 推荐(0) 编辑
摘要:苹果的.plist读写,感觉也类似沙箱技术。百度谷歌一下 ,说chrome是浏览器安全标准 , 运用了“沙盒”这个东东,收集了一些资料,归纳如下:沙箱其实就是一个硬盘过滤文件驱动,具体来说,就是你把要写的东西写到了硬盘上,但实际上并没有写到硬盘,而是到了一个转存处,读取内容需要判断是沙箱开启之前就存在的内容还是开沙箱之后写入的内容,要分别从不同的地方读取内容,重启之后把转存的地方清零。文件过滤的驱动编写和加载方法(网上找到的,关键词是bitmap):就是一小块一小块的扇区,bitmap每一位对应磁盘上的一个扇区,N位就有N个扇区,这个位如果为0,就认为这个扇区的数据没有被存储到其他地方,如果为 阅读全文
posted @ 2010-12-23 14:19 子非あ鱼 阅读(6715) 评论(0) 推荐(0) 编辑
摘要:代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->以name,phoneNumber,age三个字段为例。 iPhone 在文本框中输入数据,获取后装入数组中,然后把数组写入.plist文件写操作 NSString *name=[txt1 text]; NSNumber *phoneNumber=[[NSNumber alloc] initWithInt:[[txt2 text] intValue]]; NSNumber *age=[[NS 阅读全文
posted @ 2010-12-23 14:12 子非あ鱼 阅读(903) 评论(0) 推荐(0) 编辑
摘要:字符串是程序设计最常用的数据类型之一了。在Mac/iPhone编程中,苹果为我们提供了一个不同的字符串类型NSString。有别与普通的String为数据类型,NSString其实是一个对象类型。NSString是NSObject(Cocoa Foundation的基础对象)的子类,所以具有NSObject的所有特性,好的和好的… ….代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->小常识:NS是Cocoa类对象类型的前缀,来源于史蒂夫- 阅读全文
posted @ 2010-12-22 12:02 子非あ鱼 阅读(1736) 评论(0) 推荐(0) 编辑
摘要:最近做一个登录界面,需要做验证码,验证码是随机生成的。学习Objctive-C已有两个月了,现在才刚刚入门,很多东西还不懂,找了一些资料终于把随机数给弄出来了。发现Objctive——C跟C++有很多相同的地方。- (UIView *)codeLabel{if (codeLabel == nil){//获取随机数int aNumber =arc4random()%8999 + 1000;//NSLog(@"%d",aNumber);//NSLog(@"%d",&aNumber);CGRect frame = CGRectMake(160, 8.0 阅读全文
posted @ 2010-12-20 16:32 子非あ鱼 阅读(1981) 评论(0) 推荐(1) 编辑
摘要:提纲:简介与C语言相比要注意的地方objective-c高级特性开发工具介绍(cocoa工具包的功能,框架,源文件组织;XCode使用介绍)简介:1.objective-c是C语言的一个扩展集,主要由APPLE公司维护,是MAC系统下的主要开发语言。个人认为,对于用惯了常用的C,JAVA等语言的人来说,objective-c是一中很另类,非主流的语言。2.开发Mac的UI程序来说,使用的是Cocoa这个框架,cocoa的组成部分有:foundation和application kit框架。【foundation框架处理用户界面之下的特性,如数据结构和通信机制;application kit框架 阅读全文
posted @ 2010-12-20 10:51 子非あ鱼 阅读(57547) 评论(10) 推荐(6) 编辑
摘要:最近项目中需要实现如下图所示的效果:通过界面我们断定是一个UITableView,分成三部分,第一部分是全天,第二部分是上午,第三部分是下午。最主要的是AM和PM中也是列表,这个就比较复杂了。我的做法是在Iphone在table cell中添加自定义布局view这篇文章的基础上制作更复杂的界面。具体的过程如下:创建UITableViewCell的自定义类,这个就不用说了,在之前的博客中介绍过。在创建的cell中添加一个新的UITableView。代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://ww 阅读全文
posted @ 2010-12-17 10:30 子非あ鱼 阅读(2286) 评论(0) 推荐(0) 编辑
摘要:代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->-、建立 UITableView DataTable = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 320, 420)]; [DataTable setDelegate:self]; [DataTable setDataSource:self]; [self.view addSubview:DataTable]; [DataTab 阅读全文
posted @ 2010-12-17 10:12 子非あ鱼 阅读(872) 评论(0) 推荐(1) 编辑
摘要:在IPHONE中有四种方式可以永久存储数据分别是属性列表、归档、SQLITE3、coredata。前两者、后二者操作的时候有些地方是相同的,以属 性列表和归档来说都会用writeToFile/URL:path atomically:flag 和initWithContentofFile/URL:path;两都都不能直接操作基本数据类型,不过前者不能操作自定义的类,而后者可以通过实现 NSCoding协议来达到目的。另外要说点的就是IPHONE每个应用都会有三个文件夹分别是documents、tmp、library分别称为存储 应用的数据,临时数据,数据库。我们要保存的数据会在document. 阅读全文
posted @ 2010-12-10 11:29 子非あ鱼 阅读(1272) 评论(0) 推荐(0) 编辑
摘要:实现思路: √从多点触摸得到划过的轨迹,控制点数量,一般使用队列,新的点挤出队尾的点. 这里表示为point[16]; √ 循环; point和point[i+1]构成直线l, 计算直线的斜率, 从斜率得到夹角θ(可以温习极坐标),从而得到l的法线方程(Xcosθ+ysinθ-p=0); 以宽度W(-W),沿着法线方向平移point, 得到2条平移的轨迹. 这里的W的绝对值,头部应该宽些,尾部收缩到0.关键算法: CGPoint pt = ccpSub(p1, p2);GLfloat angle = ccpToAngle(pt); GLfloat x = sinf(angle) * w;GLf 阅读全文
posted @ 2010-11-22 09:48 子非あ鱼 阅读(1200) 评论(0) 推荐(1) 编辑
摘要:下面是对sqlite3数据库的操作,首先是要倒入类,最基本的,但不要忘记。我对数据库的操作进行了单独的处理,自己看着比较舒服,也好明白,需要用到时,直接调用久好了,也可以有代理,一直没研究,日后好好看看,先总结这些,方便自己查看,忘记时找找,老不用会很快忘记,方便自己吧!#import </usr/include/sqlite3.h>#define kFilename @"data.sqlite3" 1.打开数据库操作-(void)openDB {NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDoc 阅读全文
posted @ 2010-11-11 14:14 子非あ鱼 阅读(1580) 评论(1) 推荐(0) 编辑
摘要:XMLPerformance测试应用程序扩展到比较第三方库 有很多选择,当谈到关于iPhone的XML解析。 在iPhone SDK中配有两个不同的库可供选择,并有几种流行的资料,例如TBXML,TouchXML,KissXML,TinyXML的第三方库和GDataXML。 发展商如何选择? 最近我一直在考虑了各种选择在那里寻找,并最终延长苹果XMLPerformance样品试用上述各图书馆,了解他们如何运作,并比较它们的性能。 我想我会分享我所学到迄今他人谁可能是为他们的iPhone项目的最佳XML库搜索。 在本文中,我们将给予的功能和最流行的iPhone图书馆性能的详细对比,说明它们之间. 阅读全文
posted @ 2010-10-29 15:05 子非あ鱼 阅读(1463) 评论(1) 推荐(0) 编辑
摘要:什么是WebService:这个不用我在这里废话,网上的资料一搜一大把,如果你没有接触过这方面的知识,你可以先去网上查一下。这里我只想说一下我印象比较深刻的几点:WebService是基于soap协议的。说实话这个知识刚开始我理解的并不是很到位。这也在很长的时间局限了我在代码过程中的思维。我会在后面一个关于天气预报的实例中进行详细介绍的。总之,所有的webService请求、应答都是建立在soap协议的基础上的,而soap传输数据的载体是xml。关于soap协议的介绍,在W3C上有很详细的教程。WSDL是WebService的描述语言,它定义了Web Service做什么,怎么做和查询的信息。 阅读全文
posted @ 2010-10-29 14:32 子非あ鱼 阅读(17227) 评论(3) 推荐(3) 编辑