自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 逆向(常用指令)

逆向(密码学) OpenSSL使用RSA //生成RSA私钥,密钥长度为1024bit openssl genrsa -out private.pem 1024 //从私钥中提取公钥 openssl rsa -in private.pem -pubout -out public.pem //将私钥转化为明文 openssl rsa -in private.pem -text -out private.txt //通过公钥加密数据 openssl rsautl -encrypt -in message.tx

2021-05-08 12:09:26 381

原创 POP网络编程

POP网络编程 iOS项目开发中进行网络请求的时候,一般默认用model来保存数据 定义一个LGPerson数据模型来保存数据 struct LGPerson { let name: String let iconName: String let age: String let hobby: String let petPhrase: String ...

2019-09-26 10:03:25 466

原创 POP面向协议编程

面向协议编程 传统面向对象的开发思维方式是将类中相似的功能抽取出来,组成一个基类,然后子类继承与基类,就可以调用父类拥有的方法,而不必每次都写相同的方法,而iOS中并不支持多继承,所以继承了父类,就不可以再继承与其它类。例如:下面例子LGAnimal继承与NSObject,LGMonkey继承与LGAnimal,Monkey就可以重写父类的方法,实现自己的功能,也可以直接调用父类的方法 cla...

2019-09-26 09:36:53 370

原创 RxSwift高阶函数

RxSwift高阶函数 组合操作符 startWith: 在开始从可观察源发出元素之前,发出指定的元素序列。 Observable.of("1", "2", "3", "4") .startWith("A") .startWith("B") .startWith("C", "a", "b") .s...

2019-09-26 01:03:51 241

原创 swift定时器探究

swift定时器探究 先来看看CADisplayLink的用法 在工程中创建一个 CADisplayLink 的对象 cadTimer ,同时给他一个 target 和一个 Selector ; 然后,将 cadTimer 添加到 RunLoop 中,在屏幕刷新的时候就会触发 cadTimer 的 Selector 方法 preferredFramesPerSecond 该参数的作用是设置屏幕在...

2019-09-26 00:27:47 804

原创 Alamofire安全认证

Alamofire安全认证http和https的区别Alamofire安全认证代码初探 http和https的区别 https协议需要一般需要申请CA证书 http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。 http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。 http的连接很简单,是无状态的。Https协议是由SSL...

2019-09-25 22:31:36 768

原创 SessionManager-request初探

SessionManager-request初探 一个简单的get请求 SessionManager.default.request(myGetUrlString, method: .get, parameters: ["array":getJsonFromArray(array)]) .response { (response) in ...

2019-09-25 18:39:47 570

原创 SDWebImage(NSURLCache/NSCache)探究

NSCache的特点 使用方便,类似字典 线程安全 NSCache的 key 不会被拷贝,不需要实现 Coping 协议 NSCache自动释放对象 手动调用removeObjectForKey:方法 手动调用removeAllObjects 缓存中对象的个数大于countLimit,或,缓存中对象的总cost值大于totalCostLimit 程序进入后台后 evictsObjectsW...

2019-09-25 16:38:36 273

原创 Alamofire初探(后台下载)

Alamofire后台下载后台下载先来看看苹果原生后台下载Alamofire后台下载 后台下载 从iOS7以来,苹果推出了NSURLSession后,可以实现后台下载任务 先来看看苹果原生后台下载 设置后台下载请求 let urlString:String = "http://dldir1.qq.com/qqfile/QQforMac/QQ_V6.5.5.dmg" let config = U...

2019-09-24 17:29:38 538

原创 SDWebImage初探二(关联对象load方法加载)

关联对象的探索 找到objc_setAssociatedObject源码定义 通过创建ObjcAssociation管理对象的关联属性 根据传进来的policy设置内存管理策略 static id acquireValue(id value, uintptr_t policy) { switch (policy & 0xFF) { case OBJC_ASSOCIA...

2019-09-14 19:51:40 168

原创 SDWebImage初探一(关于分类探究)

什么是category category是Objective-C 2.0之后添加的语言特性,主要作用是为已经存在的类添加方法。 category的好处 可以减少单个文件的体积,便于查找 可以把不同的功能组织到不同的category中区 可以按需加载,声明私有方法,把framework的私有方法公开 category的数据结构 [外链图片转存失败(img-nqIi87tF-156844603...

2019-09-14 15:36:59 141

原创 RXSwift初体验二

接着上篇RXSwift初体验继续深入了解RXSwift 首先来一个空的序列 - 本来序列事件是Int类型的,这里调用emty函数 没有序列,只能complete let emtyOb = Observable<Int>.empty() let _ = emtyOb.subscribe(onNext: { (number) in print("...

2019-09-13 10:34:44 187

原创 Alamofire初探

Alamofire初探一. Alamofire概述二. URLSesstion基础三、TCP的三次握手四、TCP数据的传输过程五、TCP的四次挥手 一. Alamofire概述 对于使用Objective-C的开发者,一定非常熟悉AFNetworking这个网络框架。在苹果推出的Swift之后,AFNetworking的作者专门用Swift来编写一个类似AFNetworking的网络框架,称为Al...

2019-09-01 11:39:32 1659

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除