摘要: 1、[NSString stringWithFormat:@"%c",'A'+i] 原来A也可以加。忘记了。2、再一次用到了协议和委托。3、c 复习 FILE* fp =fopen([pathUTF8String],"a+"); fwrite([urlUTF8String], [urllength]... 阅读全文
posted @ 2012-08-23 02:32 威尚 阅读(323) 评论(0) 推荐(0) 编辑
摘要: 这是一个URL Scheme应用实例,首先我假设你已经看过《用自定义协议调用自己的程序》一文。项目中有一个变态的需求,我们的项目中要集成另一个厂商开发的app,由于知识产权的问题,我们不能集成源代码(早期我们也试图源代码方式集成,但最后搞得大家都累)。这个app单独安装在iPhone上,但用户点击app图标不能启动它,而只能启动我们的程序,再通过我们的程序去启动这个app。想来想去,只能用一种双向的URLScheme解决这个问题。一、注册自定义URL协议打开Xcode4.2,新建Empty Application,命名为URLSchemeResponder。修改AppDelegate,将程序窗 阅读全文
posted @ 2012-06-20 11:49 威尚 阅读(2287) 评论(3) 推荐(0) 编辑
摘要: 协议(protocol),就是使用了这个协议后就要按照这个协议来办事,协议要求实现的方法就一定要实现。委托(delegate),顾名思义就是委托别人办事,就是当 一件事情发生后,自己不处理,让别人来处理。举个浅显的例子: 我上班的工作主要内容包括 (1)写代码(2)写文档(3)测试程序(4)接电话(5)会见客户(1)(2)我自己全权负责,但是后面(3)(4)(5)我不想或者不方便自己做,所以我想找个助手(delegate)帮我做这些事,于是我定了一个招聘要求(Protocol),里写明我的助手需要会做(3)(4)(5)这三件事。很快,我招到一个助手。 即:我.... 阅读全文
posted @ 2012-05-04 16:35 威尚 阅读(1002) 评论(0) 推荐(1) 编辑
摘要: 最近在iPhone工程中添加RestKit并编译,但是由于之前找了很多不靠谱的说明文档,导致编译了一天也没有通过编译,总报出莫名其妙的错误。终于在最后的关头找了一篇英文的较为权威的文档才发现自己的问题出在一个很细节的地方。结论就是:不靠谱的文档害死人。下面就总结一下怎么在xcode项目中使用Restkit。1. 下载RestKit源码,到官网去下,下载后解压源码,不做过多解释;2. 在xcode中建立一个iOS项目,并在项目的文件夹中复制一份RestKit源码3. 将RestKit中的RestKit.xcodeproj文件拖动到xcode的资源管理器中4. 选择最顶层的工程,然后选择中间栏PR 阅读全文
posted @ 2012-05-03 15:38 威尚 阅读(3009) 评论(0) 推荐(0) 编辑
摘要: @property是一个属性访问声明,扩号内支持以下几个属性:1,getter=getterName,setter=setterName,设置setter与getter的方法名2,readwrite,readonly,设置可供访问级别2,assign,setter方法直接赋值,不进行任何retain操作,为了解决原类型与环循引用问题3,retain,setter方法对参数进行release旧值再retain新值,所有实现都是这个顺序(CC上有相关资料)4,copy,setter方法进行Copy操作,与retain处理流程一样,先旧值release,再Copy出新的对象,retainCount为 阅读全文
posted @ 2012-05-02 15:24 威尚 阅读(2419) 评论(0) 推荐(1) 编辑
摘要: +(NSString*) md5:(NSString*) str{ const char *cStr = [str UTF8String]; unsigned char result[CC_MD5_DIGEST_LENGTH]; CC_MD5( cStr, strlen(cStr), result ); NSMutableString *hash = [NSMutableString string]; for(int i=0;i<CC_MD5_DIGEST_LENGTH;i++) { [hash appendFormat... 阅读全文
posted @ 2012-04-16 22:13 威尚 阅读(276) 评论(0) 推荐(0) 编辑
摘要: ASIHTTPRequest:http://allseeing-i.com/ASIHTTPRequest/ASIHTTPRequest是通过CFNetwork API访问Web服务的一个开源封装类库包。支持提交和返回数据、可以访问Request和Response头信息、支持后台运行任务、支持下载内容到内存或保存到磁盘、支持Cookies、代理等;JSON Framework(aka SBJSON):http://stig.github.com/json-framework/一个很好的JSON开发包。YAJL:http://github.com/gabriel/yajl-objcJSON类库包, 阅读全文
posted @ 2012-03-27 22:33 威尚 阅读(2206) 评论(0) 推荐(0) 编辑
摘要: 1、在创建一个录音AVAudioRecorder的时候,要重录或回放,一定要创建一个会话AVAudioSession2、UITapGestureRecognizer用户响应单击UITapGestureRecognizer *tapGestureRecognizer = [[UITapGestureRecognizeralloc] init]; tapGestureRecognizer.numberOfTapsRequired = 1; tapGestureRecognizer.delegate=self; [self.view addGestureRecognizer: tapGestu... 阅读全文
posted @ 2012-03-14 11:41 威尚 阅读(189) 评论(0) 推荐(0) 编辑
摘要: ctrl+shift 快速放大dock的图标会暂时放大,而如果你开启了dock放大Command+Option+W 将所有窗口关闭Command+W 将当前窗口关闭(可以关闭Safari标签栏,很实用)Command+Option+M 将所有窗口最小化Command+Q 关闭当前应用程序(相当于Dock鼠标右键推出.很实用)Command+M 将目前使用的窗口最小化Command+H 隐藏当前窗口或者软件Command+tab 为切换当前工作任务Control+Comman... 阅读全文
posted @ 2012-03-06 08:39 威尚 阅读(423) 评论(0) 推荐(0) 编辑
摘要: _bIsPlaying=!_bIsPlaying; //真真假假 NSObject<IAudioProtocol>* _protocol; //协议,类似接口@interface UIImage (UIImageExt) //类别,类似扩展 CustomUser * user=[[[CustomUser alloc] init] autorelease]; //实体化对象 user._id=[[[key valueForKey:@"user"] valueForKey:@"id"] intValue]; user._screen_name=[ 阅读全文
posted @ 2012-03-02 11:59 威尚 阅读(354) 评论(0) 推荐(0) 编辑