iOS
文章平均质量分 52
jie863230900
这个作者很懒,什么都没留下…
展开
-
XML解析(NSXMLParser、GDataXML)
参考:http://my.oschina.net/LouWk/blog/112978XML解析一般分俩种模式SAX和DOM,事件和文档。SAX解析:事物模型解析,从头开始读取文档然后根据读取到的头标签时要怎么处理,读完头标签后,理论上是读取标签值,然后读取后遇到结束标签等。只在xml文档中查找特定条件的内容,并且只提取需要的内容。这样占用内存小,灵活。缺点就是写。DOM解析:把整个转载 2015-04-17 14:27:09 · 735 阅读 · 0 评论 -
关于UITableViewCell的复用
这个问题一直困扰着我,都醉了,网上很多例子,都是用最简单的例子告诉你怎么做,但一遇到复杂的,大型的问题,也就玩了。所以这里我由简单到复杂讲讲复用这件事情吧。因为都是经验之谈,可能有说的不到位的,还请指正。原创 2015-07-14 10:40:06 · 608 阅读 · 0 评论 -
RSA加密(1.0)
RSA算法是一种非对称加密算法,前面有讲到对称加密,即加密与解密都用一个key即可,费对称加密与此形成对比,即加密用公钥,解密用私钥。公钥:用于加密数据,用于公开,一般存放在数据提供方,例如iOS客户端私钥:用于解密数据,必须保密,否则会造成数据安全问题。前面讲到DES加密,这种对称机密,适于加密大量数据,例如银行等数据,而现在的RSA这种非对称加密算法适合文件签名或者加密一个较短的数原创 2015-11-05 14:36:19 · 764 阅读 · 0 评论 -
RSA加密(2.0)
参考http://blog.iamzsx.me/show.html?id=155002针对于RSA加密,iOS端没有专门的支持RSA加密的接口(API),所以一般有俩种解决RSA加密的方案一,通过制作自签名的x509证书,再调用x509的相关API进行加密二,通过制作通用的pem的密钥结合openssl静态库进行RSA加密在上一篇文章RSA加密(1.0)我们已经提到制作证书原创 2015-11-05 16:28:37 · 599 阅读 · 0 评论 -
关于DES加密,适用Andriod、iOS与JAVA后台
先简单说一下什么是DES加密:DES加密是一种对称加密方式,在一端对数据加密,原创 2015-11-05 10:01:57 · 644 阅读 · 0 评论 -
RSA加密(4.0)
前面的文章讲了如何创建openssl通用静态库下面讲如何使用其静态库,首先在你的工程中导入静态库大家主要是看下面的代码即可#import #include #include #include #include typedef enum { KeyTypePublic, KeyTypePrivate}Ke原创 2015-11-05 17:44:10 · 763 阅读 · 0 评论 -
RSA加密(3.0)
在上面RSA加密(2.0)中我们讲到了第一种RSA加密方式,但是这种加密方式适用范围比较窄,对加密的数据有长度限制,下面我们讲一下第二种RSA加密方式第二种需要openssl静态库,所以我们首要做的事情就是制作静态库分别需要生成适用于armv7,armv7s,arm64和i386情况的静态库,并且合并各个静态库,才能适用于各种机型(包括模拟器)1.去https://op原创 2015-11-05 17:32:24 · 824 阅读 · 0 评论 -
iOS的全局session
最近做项目,要求制作一个全局session解释一下,就是软件在60s无任何操作的时候,会调用手势锁屏功能,说实话,这个功能很鸡肋,往往要以消耗软件性能为代价,下面讲讲我的方案思路如下:制作一个定时器,这个定时器在60秒后会触发手势页面弹出。但如果用户有操作,定时器不断更新时间,即每次操作,都会重置一个60秒同时我自己觉得这应该是一个单例模式,因为整个系统只能有一个定时器,否则就原创 2015-11-05 18:09:43 · 685 阅读 · 0 评论 -
SDWebImage的使用
本文是对SDWebImage相关使用的翻译,原文请参考https://github.com/rs/SDWebImage本库为UIImageView提供一个分类,并且支持来自web的远程图片加载它提供:1.添加web图片和缓存管理到Cocoa Touch 框架的UIImageView分类2.异步图片下载3.异步内存和硬盘图片缓存有效操作,并且有自动缓存4.GIF动态支翻译 2015-09-06 16:33:10 · 333 阅读 · 0 评论 -
类方法与实例方法的区别
1.+与-2.实例方法需要实例一个对象,通过这个对象来调用相应的实例方法;类方法直接通过类名调用3.类方法中可以直接调用类方法,不可以直接调用实例化方法,需要创建一个对象,通过对象调用相应地方法实例化方法可以直接调用实例方法,也可以调用类方法4.类方法不可以使用实例变量,可以使用self,因为self不是实例变量5.在类方法中self相当于class,在实例原创 2015-06-03 11:16:41 · 725 阅读 · 0 评论 -
iOS学习路线
http://ios.skyfox.org/route.html以上是一位大神分享的iOS学习路线。虽然网络技术日新月异,但是都89不离10。参考一下吧!如果有时间,我也会一一映射到我的博客中的。原创 2015-06-26 15:47:41 · 577 阅读 · 0 评论 -
UIScrollView详解
详情参考:http://blog.csdn.net/ch_soft/article/details/6947695转载 2015-07-06 17:53:28 · 329 阅读 · 0 评论 -
关于UILabel的宽高自适应
我们在使用UILabel的时候,往往估计一个frame,然后根据这个估计的frame来定义内容然而情况往往并不总是这么如意,很多情况下,我们需要根据文字的大小多少来定义label的长度和宽度,怎么办呢下面依次讲一下长度和宽度的自适应宽度自适应:这里往往是根据文字多少来定义的label的长度,假设我们只需要显示一行字,但是这一行又希望是根据文字大小来定原创 2015-07-14 15:43:52 · 2603 阅读 · 0 评论 -
在iOS中求数组元素中最大数与最小数
之前求数组中某个数中的最大值与最小值,还真一个个比较,后来看到这个方法后,我就醉了 NSArray *testArray = [NSArray arrayWithObjects:@"-2.0", @"2.3", @"3.0", @"4.0", nil]; NSNumber *sum = [testArray valueForKeyPath:@"@su原创 2015-07-17 16:08:49 · 4252 阅读 · 0 评论 -
关于self.与_的区别
很多时候我们可以看到在xcode的.m开发文档中有self.aa与_aa字段,一直不太明白这其中的区别,和相关的用法,知道写一个东西,调bug的时候顿悟,现在记录下来,仅供参考!很多时候我们这样写我们的Objective-c代码//.h文件部分@interface demo_selfAnd_@end//.m文件部分@implementation demo_selfA原创 2015-07-22 13:56:34 · 2250 阅读 · 0 评论 -
关于pch文件
参考http://blog.csdn.net/lvxiangan/article/details/21325093我们创建项目的时候往往可以看到有一个后缀为pch的文件通常我们是涉及不到的pch全称是“precompiled header”,也就是预编译头文件这里面存放一些不经常修改的工程中不经常修改的代码,比如常用的框架头文件,这样做的目的是提高编译的速度。当我们原创 2015-07-22 17:31:20 · 501 阅读 · 0 评论 -
@property与@synthesize的区别
上一篇文章我有讲到self.与_的区别,往往和这个问题相伴随的是我困惑的问题是"@property与@synthesize的区别"@property的用法@interface ViewController (){ NSArray *arr2;}@property(nonatomic,retain)NSArray *arr;@end@原创 2015-07-22 15:04:01 · 606 阅读 · 0 评论 -
NSDictionary,NSArray,NSSet简介
年后面试的时候,准备了这样一个问题,问了很多人,基本上没有一个人能打出来的,其实我觉得答案很简单,但却可以让我们在使用它的时候更加自如NSArray 对象有序集合(相当于数组)NSSet 对象无序集合(无序、不重复)NSDictionary 用于键值映射集合以上三种集合类是不可变的,一旦初始化就不原创 2016-03-08 16:14:06 · 337 阅读 · 0 评论 -
base64加密原理及作用
参考文章http://www.cnblogs.com/hongru/archive/2012/01/14/2321397.html--base64的编码都是按字符串长度,以每3个8bit的字符为一组--然后针对每组,首先获取每个字符的ASCII编码--然后将ASCII编码转换成8bit的二进制,得到一组3*8=24bit的字节--然后再将这24bit划分为4个6bit的字节原创 2015-11-04 17:27:15 · 6311 阅读 · 0 评论 -
Framework多种CPU架构的分离与合并
此文章参考http://blog.sina.com.cn/s/blog_9077079d0102wiy7.html在使用第三方库库Framework或者其它的第三方的时候,库的开发人员可能为了方便打包与发行,常常将i386,x86_64,armv7,arm64多种模式混合起来一起打包,而我们在app提交的时候更本用不到i386和x86_64俩种架构,所以让我们要把它分离出来原创 2016-11-29 14:54:07 · 1453 阅读 · 0 评论 -
关于NSProxy的理解
据说NSProxy是少有的不继承NSObject的类,所以它应该是一个别致的存在。关于NSProxy可参考官方文档,NSProxy的接口很少,但是感觉他的用处很多也很关键。下面是对官方文档的翻译,英语翻译为中文,很蹩脚,感觉,领会精神吧!NSProxy是一个为对象定义接口的抽象父类,并且为其它对象或者一些不存在的对象扮演了替身角色。通常,给proxy的消息被转发给实际对象或者导原创 2016-11-14 18:13:46 · 3930 阅读 · 0 评论 -
使用集合操作符
最近在看开发文档,看到一个不错的东西,翻译一下,以便之后理解和使用Using Collection Operators原文参考翻译如下:当你发送给一个键值编码兼容的对象valueForKeyPath:消息时,你可以在key path中嵌入集合操作符。集合操作符是关键词列表中的一个,此关键词以@开头指定一个getter操作,此操作在返回之前以某种方法操作数据。翻译 2016-11-25 17:50:37 · 1190 阅读 · 1 评论 -
如何在使用moveRowAtIndexPath:方法时替换默认图片
在用- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)sourceIndexPath toIndexPath:(NSIndexPath *)destinationIndexPath方法实现重排时,有一个三条线的默认图片,下面的方法可以实线替换默认图片- (void原创 2016-12-14 14:25:46 · 1045 阅读 · 0 评论 -
关于charles的使用
一直都知道charles,只是没有仔细研究过,最近研究逆向,觉得它还真是个不错的工具,此处转载大神的文章,便于以后使用。http://blog.devtang.com/2013/12/11/network-tool-charles-intr/转载 2017-01-09 10:03:41 · 628 阅读 · 0 评论 -
第三方软件包集合
wireshark第三方抓包软件https://www.wireshark.orgcocoapod第三方库导入软件,安装使用自己写的俩篇文章http://blog.csdn.net/jie863230900/article/details/51437493http://blog.csdn.net/jie863230900/article/details/51443625Charles的安装使用ht...原创 2018-03-15 10:45:17 · 496 阅读 · 0 评论 -
reveal的安装使用
下载网址:https://www.waitsun.com/reveal-4-0.html下载完成后点击安装即可下面是使用步骤1.打开reveal2.help-->Show Reveal Library in Finder-->iOS Library3.把RevealServer.framework包拉到你的项目中,勾选Copy items if needed4.打开项目Target--...原创 2018-03-15 15:00:25 · 487 阅读 · 0 评论 -
ViewController生命周期
按照执行顺序排列:1. initWithCoder:通过nib文件初始化时触发。2. awakeFromNib:nib文件被加载的时候,会发生一个awakeFromNib的消息到nib文件中的每个对象。 3. loadView:开始加载视图控制器自带的view。4. viewDidLoad:视图控制器的view被加载完成。 5. viewWillAppear:视图控制器的view将要显...原创 2018-03-15 17:54:13 · 303 阅读 · 0 评论 -
frame 和 bounds 有什么不同?
frame指的是该view在父view坐标系统中的位置和大小。(参照点是父view的坐标系统)bounds指的是该view在本身坐标系统中的位置和大小。(参照点是本身坐标系统)...原创 2018-03-15 17:55:01 · 335 阅读 · 0 评论 -
block详解三部曲
深深的陷入block的深渊里不可自拔,感觉是懂了又忘了,忘了又费力的去弄懂了,然后又忘了。现从三方面总结一下block,完全扒了一个博主的文章block的实现原理block的循环引用原理block的使用转载 2016-11-04 15:32:27 · 517 阅读 · 0 评论 -
内存管理
之前看过一本书叫《Objective-C高级编程 iOS与OS X多线程和内存管理》,里面关于内存管理的讲解还是比较有理的。下面总结一下:内存管理的思考原则我觉的可以称之为引用计数的思考原则,则在对象被使用时retainCount>=1,对象不使用时retaincount=0。当然说起来挺容易的,但是使用时还是需要遵循一定的章法的。总结为以下四条1.自己生成的对象,自己原创 2016-08-24 16:39:26 · 303 阅读 · 0 评论 -
通知、delegate和block的区别
通知:只发出通知,不需要知道向谁发出通知,一般情况下是一对多的关系,类似于广播的原理,广播台发出广播,听不听是用户的事情。协议:强调单一拥有和可控制,改变和传递控制链,比如tableView,它的协议是UITableViewDelegate与UITableViewDataSource,在处理tableView的时候,需要遵守相应地协议,才能控制table。我们遵守协议后,用到相应地方法,比如原创 2015-04-13 09:26:57 · 1579 阅读 · 0 评论 -
使用auto layout自定义flipBar
最近有在看一本关于auto layout的书,受益匪浅,然后突然想到我要解决的一个问题其实正好可以用到这个auto layout的技巧,现在进行一个讲解我们之前看新闻、视频等的软件,常看到过这样的功能(如图蓝椭圆内) 我最早做这个功能的时候,是通过计算frame相应的值进行布局。其实这样很low,尤其如果button所对应的原创 2016-05-30 10:46:17 · 442 阅读 · 1 评论 -
Cocoapod安装及使用(二)
在上上篇文章有讲述如何安装Cocoapod,接下来讲一下如何使用cocoapod,还是老样子,按照步骤进行1.新建工程,并在终端用cd指令到文件夹内,比如我建了一个叫PodTest的新工程,如图操作,箭头遮挡处是你的工程位置2.使用vim命令新建文件注意此时你所处的位置和Podfile文件的名称接下来你可以写一些你想要导入的第三方库了。在这里讲一下pod原创 2016-05-18 14:49:31 · 671 阅读 · 0 评论 -
__block与__weak
其实这俩个东西是八竿子打不着的存在,但是我看很多人会分别用于mrc与arc下block避免循环引用,之前我用着也是一头雾水。后来似乎明白了,现在解释一下__block是一个存储域说明符。如果你只学过oc的话,你肯定不明白啥意思,但是你如果学过c语言的话,可能还有点概念,其实它类似于static,auto等,标明变量的存储区域。在C语言中,数据存储区域分为如下原创 2016-06-24 10:55:10 · 293 阅读 · 0 评论 -
SDWebImage
之前面试,让你说说对SDWebImage的理解,其实之前有看过这个库的代码,但是年代久远了,而且当时对代码的理解力有点偏差,有点遗忘了,现在再重新看这个库的代码,又查了查,参看了一些博客,现在总结一下参考博客:http://draveness.me/ios-yuan-dai-ma-jie-xi-sdwebimage/截图是对第三方库的整个文件的展示,这里面主原创 2016-06-22 15:02:39 · 409 阅读 · 0 评论 -
可缩放、滑动显示的折线图
最近,遇到这样一个问题,将一组日期和数字为数据源的数据画成折线图。折线图可以左右滑动,可以缩放,同时点击视图的时候可以定位到最近的一个数据点具体结果如图代码demo处理这个我觉得有如下三个难点一、数据源数据不连续,需要自己计算生成连续数据源二、如何实现可缩放的折线图三、如原创 2016-06-17 13:23:17 · 6390 阅读 · 0 评论 -
GPUImage
最近在读GPUImage,有点方。只在此处留下"呵呵"二字,多说无益。原创 2016-08-23 14:29:18 · 401 阅读 · 0 评论 -
kvc与kvo
转载自http://magicalboy.com/kvc_and_kvo/不知道到什么时候,突然发现自己以前觉得复杂的问题其实用一句就可以解释。讲真,当你真的这样想的时候,是有点方的。KVO可以简称为(NSKeyValueCoding),他提供了一种机制来间接访问对象属性,具体可以参考开发文档关于NSKeyValueCoding的解释 (https://developer.原创 2016-08-24 16:14:13 · 579 阅读 · 0 评论 -
关于内存管理的自己的见解(一)
今天在使用UIAlertController时总结经验获得。UIAlertController初始化时是有block方法的,而我在这个block方法中需要通过self调用一个成员方法,代码如下/* 选择类型alert框 */- (void)alertImageFromAlbumOrCamera{ UIAlertController *alertController = [UIAlertCon...原创 2018-03-22 11:47:45 · 314 阅读 · 0 评论 -
Socket编程
学习Socket编程,此处参考http://www.cnblogs.com/skynet/archive/2010/12/12/1903949.html的文章1、网络中进程之间如何通信?本地的进程间通信(IPC)有很多种方式,但可以总结为下面4类:消息传递(管道、FIFO、消息队列)同步(互斥量、条件变量、读写锁、文件和写记录锁、信号量)转载 2015-03-10 11:04:50 · 416 阅读 · 0 评论