ios开发
W了个G
Java讲师/Android开发经理/iOS工程师
展开
-
ios SQLite3的使用
注意:要在工程中的Frameworks中导入相应的libsqlite3.dylib文件,也许在相应的目录下存在多个以libsqlite3开头的文件,务必选择libsqlite3.dylib,它始终指向最新版的SQLite3库的别名。 打开数据库: Objective-c代码NSArray *paths = NSSearchPathForDirectoriesInDoma转载 2014-02-08 14:17:24 · 754 阅读 · 0 评论 -
如何应对iOS系统升级?
发表于2011-11-29 15:16 | 来源CSDN| 作者徐玲玲我们CSDN的活动前面已经连续举办了8期,加上还有和一些合作伙伴做的会议,大概有17期。前面的话题有涉及到产品、设计,还有推广运营方面的,也有技术的。这次我们回到了开发者所关注的技术平台的本身,然后跟大家分享一些大家关注的iOS5升级的问题,还有技术路线选择的问题。爱图腾科技高级架构师转载 2014-02-10 10:29:43 · 983 阅读 · 0 评论 -
ios故事版(Storyboard)
故事版(Storyboard)是一个能够节省你很多设计手机App界面时间的新特性,下面,为了简明的说明Storyboard的效果,我贴上本教程所完成的Storyboard的截图:现在,你就可以清楚的看到这个应用究竟是干些什么的,也可以清楚的看到其中的各种关系,这就是Storyboard的强大之处了。如果你要制作一个页面很多很复杂的App,Storyboard可以帮助你解转载 2014-02-09 17:36:31 · 1336 阅读 · 0 评论 -
iOS delegate的经典应用案例
delegate中文叫做委托,通常会用在class内部把一些事件处理"委托"给别人去完成。也就是当自己做什么事情不方便的时候,就可以建立一个委托,这样就可以委托他人帮自己去实现什么方法。 在iOS 开发中, 搞清楚Delegate 是需要花些时间的。 Delegate 本来是软件架构设计的一种理念。对于像手机这样一个有限的设备,我们需要充分考虑到:内存要尽量省着用; 视图之转载 2014-02-10 23:18:09 · 828 阅读 · 0 评论 -
iOS SEL类型
Objective-C在编译的时候,会根据方法的名字(包括参数序列),生成一个用 来区分这个方法的唯一的一个ID,这个ID就是SEL类型的。我们需要注意的是,只要方法的名字(包括参数序列)相同,那么它们的ID都是相同的。就是 说,不管是超类还是子类,不管是有没有超类和子类的关系,只要名字相同那么ID就是一样的。我们可以方便的通过方法的名字,获取到方法的ID也就是我们所说的SEL,反之亦然。转载 2014-02-11 09:38:22 · 604 阅读 · 0 评论 -
respondsToSelector的相关使用简介
-(BOOL) isKindOfClass: classObj 用来判断是否是某个类或其子类的实例-(BOOL) isMemberOfClass: classObj 用来判断是否是某个类的实例-(BOOL) respondsToSelector: selector 用来判断是否有以某个名字命名的方法(被封装在一个selector的对象里传递)+(BOOL) instancesRespo转载 2014-02-11 09:53:46 · 699 阅读 · 0 评论 -
ios5 json
IOS5.0开始支持JSON,所以不用第三方的解析了。//将Foundation(NSDictionary、NSData) 转换为JSon格式的NSData 用来发送//+ dataWithJSONObject:options:error: //将JSON格式的Data转换为Foundation(NSDictionary、NSData) 用来解析//转载 2014-02-11 09:07:38 · 836 阅读 · 0 评论 -
免费JSON格式的服务接口
这里为大家搜集了一些能够返回JSON格式的服务接口。部分需要用JSONP调用。 天气接口 气象局接口: http://m.weather.com.cn/data/101010100.html 解析 用例 音乐接口 虾米接口 http://kuang.xiami.com/app/nineteen/search/key/歌曲名称/diandian/1转载 2014-02-10 17:36:03 · 1046 阅读 · 0 评论 -
IOS之应用数据存储一:NSUserDefaults类
NSUserDefaults适合存储轻量级的本地数据,比如要保存一个登陆界面的数据,用户名、密码之类的,个人觉得使用NSUserDefaults是首选。下次再登陆的时候就可以直接从NSUserDefaults里面读取上次登陆的信息咯。因为如果使用自己建立的plist文件什么的,还得自己显示创建文件,读取文件,很麻烦,而是用NSUserDefaults则不用管这些东西,就像读字符串一样,直接转载 2014-02-11 11:01:42 · 942 阅读 · 0 评论 -
ios--oc通过调用js实现谷歌搜索功能
UIWebView是iOS最常用的SDK之一,它有一个stringByEvaluatingJavaScriptFromString方法可以将javascript嵌入页面中,通过这个方法我们可以在iOS中与UIWebView中的网页元素交互。stringByEvaluatingJavaScriptFromString 使用stringByEvaluatingJavaScript转载 2014-02-24 16:43:27 · 1352 阅读 · 0 评论 -
ios之应用数据存储五:writeToFile
Write写入方式:永久保存在磁盘中。具体方法为:第一步:获得文件即将保存的路径:NSArray *documentPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask,YES);//使用C函数NSSearchPathForDirectoriesInDom转载 2014-02-12 10:22:57 · 6107 阅读 · 0 评论 -
ios中调用webservice获得json格式的数据
原理图如下:与webService(php写的),利用json进行资料交换。最终要显示在手机上的数据格式如下图:第一步,组装json格式的请求参数,得到 jsonData //创建json格式的请求参数 NSError *error = NULL; NSDictionary *info = [NSDiction翻译 2014-02-11 15:38:01 · 2211 阅读 · 1 评论 -
ios之应用数据存储二:NSKeyedArchiver类
NSKeyedArchiver:采用归档的形式来保存数据,该数据对象需要遵守NSCoding协议,并且该对象对应的类必须提供encodeWithCoder:和initWithCoder:方法。前一个方法告诉系统怎么对对象进行编码,而后一个方法则是告诉系统怎么对对象进行解码。例如对Possession对象归档保存。定义Possession:@interface Posse转载 2014-02-11 20:13:23 · 883 阅读 · 0 评论 -
iOS 类似Android.9图片拉伸
图形用户界面中的图形有两种实现方式,一种是用代码画出来,比如Quartz 2D技术,狠一点有OpenGL ES,另一种则是使用图片。 代码画的方式比较耗费程序员脑力,CPU或GPU; 图片则耗费磁盘空间,会增加app的体积.一般的app我们会偏重于使用图片来构建用户界面. 设计师一般会使用PS来设计界面,所以在直接使用之前,有一个PSD到png的切图(Image Slicing)过程.下面转载 2014-02-25 10:21:20 · 1286 阅读 · 0 评论 -
ios--设计模式--抽象工厂模式
1 前言 上篇文章我们介绍了工厂方法模式,已经充分的体会到了工厂模式的优越性, 但是如果产品再进行细化的时候我们就该用到了抽象工厂模式。这节我们将接触到产品族等概念。闲话少说,马上步入正题吧。 转载请注明出处:http://blog.csdn.net/developer_zhang2 详述2.1 定义定义:为创建一组相关或相互依赖的对象提供一个接口,而且无需指定他转载 2014-02-25 10:48:11 · 783 阅读 · 0 评论 -
iOS-实现文件上传下载
OS开发中会经常用到文件上传下载的功能,这篇文件将介绍一下使用asp.net webservice实现文件上传下载。首先,让我们看下文件下载。这里我们下载cnblogs上的一个zip文件。使用NSURLRequest+NSURLConnection可以很方便的实现这个功能。同步下载文件:NSString *urlAsString = @"http://files.c转载 2014-02-12 14:25:12 · 953 阅读 · 0 评论 -
ios中各数据类型转换 NSData转NSString,Byte,UIImage
1,NSData 与 NSString NSData --> NSString NSString *aString = [[NSString alloc] initWithData:adata encoding:NSUTF8StringEncoding]; NSString --> NSData NSString *aString = @"1234"; NSData转载 2014-02-10 15:47:20 · 9689 阅读 · 0 评论 -
objective-c Unicode转中文
- (NSString *)replaceUnicode:(NSString *)unicodeStr { NSString *tempStr1 = [unicodeStr stringByReplacingOccurrencesOfString:@"\\u" withString:@"\\U"]; NSString *tempStr2 = [tempStr1 stri转载 2014-02-12 14:59:52 · 1293 阅读 · 1 评论 -
ios--UIwebView加载本地文件(支持显示图片)
1,本地的html文件一定要放到工程文件的根目录2,html代码中的图片路径一定要是相对路径3,下面是用UIWebView调用本地文件的方法方法一:NSString *filePath = [[NSBundle mainBundle]pathForResource:@"1" ofType:@"html"]; NSString *htmlString = [N转载 2014-02-25 09:16:09 · 1129 阅读 · 0 评论 -
ios--设计模式--单例模式
1 前言 在程序开发过程中,我们总会遇到一些情况,要求我们有一个类只有一个实例,这种情况下,我们就需要使用单例模式。今天我们就来学习一下这个模式。 转载请注明出处:http://blog.csdn.net/developer_zhang2 详述2.1 定义 确保一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。单例模式应该转载 2014-02-25 10:40:10 · 754 阅读 · 0 评论 -
ios--设计模式--工厂方法模式
1 前言 上篇博客我们学习了简单工厂模式,今天我们深入一点,学习一下工厂方法模式。工厂方法模式是在简单工厂模式的基础上延伸出来的,只不过把原来的工厂类给抽象出来了,这样是的工厂类可扩展性增强。从而进一步的进行了抽象。 转载请注明出处:http://blog.csdn.net/developer_zhang2 详述2.1 定义 定义一个用于创建对象的接口,让子类转载 2014-02-25 10:50:16 · 667 阅读 · 0 评论 -
ios--设计模式--简单工厂模式
1 前言 我们总说面向对象要有可维护性,可扩展性,可复用性。今天我们就来学习一种简单地设计模式--简单工厂模式(FACTORY)。通过面向对象的封装,继承和多态来降低程序的耦合度。下面就让我们来深入学习这个模式。转载请注明出处:http://blog.csdn.net/developer_zhang2 详述 工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,转载 2014-02-25 10:54:33 · 879 阅读 · 0 评论 -
ios--设计模式--类关系
1 前言 最近新工作太忙了,好久没有写博客了,经过一段时间的编码,发现自己写的代码真的是太差劲了,难维护,扩展性低,重复代码过多。自己分析分析总结一下,发现是自己缺少了一项优秀程序员的技能--设计模式,所以最近打算充充电,和大家一起学习一下设计模式,有问题之处请大家指点一二。转载请注明出处:http://blog.csdn.net/developer_zhang2 详述转载 2014-02-25 10:57:06 · 802 阅读 · 0 评论 -
ios之应用数据存储四:CoreData
Core Data是一个功能强大的层,位于SQLite数据库之上,它避免了SQL的复杂性,能让我们以更自然的方式与数据库进行交互。Core Data将数据库行转换为OC对象(托管对象)来实现,这样无需任何SQL知识就能操作他们。Core Data位于MVC设计模式中的模型层,一般需要在设备上存储结构化数据时,考虑使用SQLite或是序列化等方法,而Core Data是这两种方法的混转载 2014-02-12 10:07:08 · 888 阅读 · 0 评论 -
ios json对象转为对象数组
JSONDecoder *jArray = [[JSONDecoder alloc]init];NSMutableArray *theObject = [[NSMutableArray alloc] init]; theObject = [jArray objectWithData:theResponseData];//objectWithString:theResponseString转载 2014-02-12 17:05:46 · 960 阅读 · 0 评论 -
ios之NSDictionary、NSMutableDictionary使用小结
#import int main(int argc, const char * argv[]){ @autoreleasepool { //创建字典 NSDictionary *dic1 = [NSDictionary dictionaryWithObject:@"value" forKey:@"key"]; NS转载 2014-02-13 10:38:34 · 1155 阅读 · 0 评论 -
在iOS上绘制自然的签名
在iOS上绘制自然的签名这里有一篇很棒的文章写如何在Android上获取流畅的签名:Smoother Signatures,但是我没有找到一篇是写在iOS上如何实现。那么,究竟怎么做才能在iOS设备上获取用户的签名呢?虽然我没有找到任何关于获取签名的文章,但是在App store上已经有了实现得很好的app。 Paper by转载 2014-02-26 08:44:43 · 1078 阅读 · 0 评论 -
iOS--加载、滑动翻阅大量图片解决方案详解
加载、滑动翻阅大量图片解决方案详解今天分享一下私人相册中,读取加载、滑动翻阅大量图片解决方案,我想强调的是,编程思想无关乎平台限制。我要详细说一下,在缩略图界面点击任意小缩略图后,进入高清大图全屏浏览界面的这短暂的1秒内(和后续的几秒),都发生了什么。常规思路流程点击任意小图后,1.首先制作scrollview框架:大转载 2014-02-26 08:59:02 · 1244 阅读 · 0 评论 -
ios--遍历Tableview
iOS不提倡遍历全部cell,从抛给开发者的API就可以看出来,就给一个visiblecells方法,不让你轻松的拿到全部cell,优化内存使用的极佳方案。非要遍历全部cell怎么办?//只返回可见的cell- (UITableViewCell *)cellForRowAtIndexPath:(NSIndexPath *)indexPath//只返转载 2014-02-26 09:06:26 · 984 阅读 · 0 评论 -
ios--图片转PDF的实现方法
图片转PDF的实现方法Quartz 2D概述Quartz 2D是Core Grapgics下的2D绘图引擎,适用于iOS和Mac OS X。 它具有强大的绘图功能,提供视角效果渲染,反锯齿渲染,颜色管理,绘制PDF等等。开发者无需考虑不同设备不同分辨率的显示效果,因为这一切适配操作Quartz 全都自己包了。具体Quartz可以做些什么,下图给出了最佳答案:转载 2014-02-26 09:10:50 · 2548 阅读 · 1 评论 -
ios--XML解析类库对比和安装说明
iOS平台XML解析类库对比和安装说明在iPhone开发中,XML的解析有很多选择,iOS SDK提供了NSXMLParser和libxml2两个类库,另外还有很多第三方类库可选,例如TBXML、TouchXML、KissXML、TinyXML和GDataXML。问题是应该选择哪一个呢?解析 XML 通常有两种方式,DOM 和 SAX:DOM解析XML时,读转载 2014-02-26 09:16:37 · 884 阅读 · 0 评论 -
ios--播放系统音效、自定义音效
播放系统音效、自定义音效工具类需求大致分为三种:1.震动2.系统音效(无需提供音频文件)3.自定义音效(需提供音频文件)我的工具类的封装:// // WQPlaySound.h // WQSound // // Created by 念茜 on 12-7-20. // Copyright转载 2014-02-26 09:19:22 · 1048 阅读 · 0 评论 -
ios--常用控件尺寸大集合
元素控件尺寸(pts)Window(含状态栏)320 x 480Status Bar的高度20Navigation Bar的高度44含Prompt的Navigation Bar的高度74Navigation Bar的图标20×20(透明的png)T转载 2014-02-26 09:21:43 · 902 阅读 · 0 评论 -
ios--生命周期
为了处理好应用程序的挂起、暂停等情况下的数据保存,或对应添加所需处理,我们必须了解ios生命周期。但是不要去背去记,做个实验就好。- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {转载 2014-02-26 09:25:42 · 714 阅读 · 0 评论 -
ios--对话框异常--wait_fences: failed to receive reply: 10004003
如果在使用UIAlertView的过程中,莫名其妙的出现wait_fences: failed to receive reply: 10004003这个错误,那么十有八九是因为你忘记了关闭键盘。UIAlertView一弹出,倘若键盘没有关闭,就失去了焦点,当UIAlertView关闭,再回到原界面时,就会尴尬的接到wait_fences: failed to receive rep转载 2014-02-26 09:29:38 · 658 阅读 · 0 评论 -
ios--屏幕旋转
横竖屏切换,视图乱了怎么办?首先,我们必须了解一下下列4种状态,它们被用来描述设备旋转方向:UIInterfaceOrientationLandscapeLeft向左,即HOME键在右UIInterfaceOrientationLandscapeRight向右,即HOME键在左U转载 2014-02-26 09:33:03 · 843 阅读 · 0 评论 -
Xcode--小技巧--再次开启欢迎界面的办法
有多少人开始觉得这个界面烦人,把勾勾掉了。又有多少人勾掉后又觉得不方便,想再次开启却找不到相关设置的位置?Command + Shift + 1转载 2014-02-26 09:13:26 · 858 阅读 · 0 评论 -
ios--使用keychain存取密码
通常情况下,我们用NSUserDefaults存储数据信息,但是对于一些私密信息,比如密码、证书等等,就需要使用更为安全的keychain了。keychain里保存的信息不会因App被删除而丢失,在用户重新安装App后依然有效,数据还在。使用苹果官方发布的KeychainItemWrapper或者SFHFKeychainUtils很方便,后来看到 iphone使用keychain来存取用户转载 2014-02-26 09:30:57 · 881 阅读 · 0 评论 -
ios-storyboard-利用segue传参
当我们选择了storyboard的segue帮我们实现view之间的切换,同时view之间的参数传递能力并没有被剥夺,ios为我们提供代理方法:#pragma mark - Segue Methods - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { MyV转载 2014-02-26 09:41:26 · 944 阅读 · 0 评论 -
ios--PDF的显示和浏览
今天的任务是:在iOS上加载显示pdf文件。方法一:利用webview-(void)loadDocument:(NSString *)documentName inView:(UIWebView *)webView { NSString *path = [[NSBundle mainBundle] pathForResource:docu转载 2014-02-26 09:43:28 · 975 阅读 · 0 评论