
iOS
Code_浅蓝
小草生而不择肥瘠,长而步步为营,只要坚持走好每一步,就能染绿荒原;积雪融而溪流淙淙,流而不避劳苦,只要坚持流好每一程,就能奔流入海。同样,不管我们从事什么工作,只要扑下身子,坚持踏踏实实做好手上的每一件事,就能最终实现人生价值。
展开
-
深度使用 iOS多线程
深度使用 iOS多线程 GCD的队列类型 串行(Serial)队列 并行(ConCurrent)队列 主队列 全局队列 GCD的使用 队列组 enter & leavel 信号量 dispatch_group_t 和 dispatch_semaphore_create 结合使用 dispatch_semaphore_signal ...原创 2017-02-16 09:48:55 · 488 阅读 · 0 评论 -
iOS 开发中常见Property关键字解读
本文用作对nonatomic和atomic,retain,weak,strong,assgin;还有深拷贝和浅拷贝,还是copy和strong修饰字符串的区别,一些iOS知识点的纪录,学习。还有非常多的不足,感谢您的斧正!原创 2017-05-19 11:52:18 · 991 阅读 · 0 评论 -
多线程 通过GCD实现网络并行
多线程并行(某界面存在多个请求,希望所有请求均结束才进行某操作)示例一 示例二 示例三(通过semaphore 多线程并行)示例四(通过enter和leave 多线程并行)示例五(FIFO执行)相关资料 多个接口请求数据,需要监听接口请求完成,才能进行下一步的操作,我们采用网络请求是异步的。那么我们要如何监听呢?通常情况下,多个网络请求同时执行,等所有网络请求返回后,再进行下一步操作,原创 2017-05-18 11:43:53 · 527 阅读 · 0 评论 -
SSKeychain
概要 Keychain目前主要功能就是帮助用户安全地记住密码,keychain保存的密码文件都是经过加密的,其他人不能直接通过打开keychain的文件获取保存在keychain中的密码。 苹果还提供了使用keychain保存密码的API,如果APP使用了keychain API来保存密码, 保存密码的结果都可以在钥匙串应用中查看到。 Safari就是用keychain来保存原创 2017-11-15 15:51:10 · 702 阅读 · 0 评论 -
iOS随笔_网络(Socket/MQTT)
IP Internet Protocol 网络层协议,网络之间互联的协议。FTP File Transfer Protocol 文本传输协议TCP Transmission Control Protocol 传输控制器协议UDP User Datagram Protocol 用户数据报协议 HTTP HyperText Transfer Protocol 超文本传输协议 国际标准原创 2017-03-25 14:36:41 · 4487 阅读 · 0 评论 -
NSString使用之Copy和Strong
背景: 前些天去面试了,面试官很牛X,目测大牛,问了很多问题。我记得第一个好像是用assign修饰对象??后面又衍生出了strong和copy修饰字符串的区别, 搬砖搬了多年,只记得这些修饰词,大概干嘛干嘛用的了。这些时间的面试,也通过这么多年的搬砖,越来越意识到了自己该做点什么了。好了闲聊到这里,以下内容是我根据其他博主摘抄学习而来, 好了直接上代码。主题:///声明@interfa原创 2017-04-02 10:22:47 · 560 阅读 · 0 评论 -
Book - Objective-C高级编程
1.1什么是自动引用计数关于ARC技术,最重要的还是下面这一点:++在LLVM编译器中设置ARC为有效状态,就无需再次键入retain或者是release代码。++1.2 内存管理/引用计数1.2.1 概要OC中的内存管理,也就是引用计数。可以用开关灯房间的案例来说明:假设办公室照明设备只有一个。上班的人进入办公室需要照明,所以把灯打开。而队对于下班离开办公室的人来说,已经不需要照明了,所以把等关掉原创 2017-11-30 10:46:28 · 898 阅读 · 0 评论 -
内存管理(二) - MRC关键字解读
本篇主要学习以下几个知识点alloc/reatin/release/dealloc 理解autorelease 理解autorelease GUN 实现autorelease 苹果 实现原文地址alloc/reatin/release/dealloc 实现我们来看看 GUNstep 源代码中 NSObject 类的的 alloc 类方法。id obj = [NSObject alloc];原创 2017-12-13 17:31:00 · 1729 阅读 · 0 评论 -
内存管理(一) - 引用计数式的理解
1.1什么是自动引用计数关于ARC技术,最重要的还是下面这一点:++在LLVM编译器中设置ARC为有效状态,就无需再次键入retain或者是release代码。++1.2 内存管理/引用计数1.2.1 概要OC中的内存管理,也就是引用计数。可以用开关灯房间的案例来说明:假设办公室照明设备只有一个。上班的人进入办公室需要照明,所以把灯打开。而队对于下班离开办公室的人来说,已经不需要照明了,所以把等关掉原创 2017-11-30 17:54:33 · 560 阅读 · 0 评论 -
内存管理(三) - 通过ARC所有权修饰符,理解ARC内存管理
本文来自Objective-C高级编程:iOS与OS X多线程和内存管理原创 2017-12-12 17:55:53 · 656 阅读 · 0 评论 -
内存管理(四) - 源码解读所有权修饰符(一)
内存管理(四) - 源码解读所有权修饰符原创 2017-12-13 17:53:36 · 514 阅读 · 0 评论 -
AOP(Aspect Oriented Programming),面向切面编程
场景: 要对用户的页面的轨迹进行统计。在每一个自定义的控制器的viewWillAppear函数添加处理代码使用派生使用Aspects来勾取UIViewController类viewWillAppear方法,在勾取的函数添加代码先说下使用方式1,重复的代码太多,不易维护。方式2由于要所有的类都继承自定义的基类,需要额外的沟通成本,均不可取。下面我们来看方式3,通过需要勾取的类来调用aspect原创 2017-11-15 15:41:36 · 562 阅读 · 0 评论 -
SSL与TLS学习
SSL:(Secure Socket Layer --- 安全套接字层), 位于可靠的面向连接的网络层协议和应用层协议之间的一种协议。SSL通过互相认证、使用数字签名确保完整性、使用加密确保私密性,以实现客户端和服务器之间的安全通讯。该协议由两层组成:SSL记录协议和SSL握手协议。TLS:(Transport Layer Secure --- 传输层安全协议)用于两个应用程序之间提供转载 2017-02-09 14:12:21 · 472 阅读 · 0 评论 -
通知与推送的学习(摘抄)
通知:iOS操作系统层面上的功能,App来了一条通知,系统来了升级通知,代办事项来了一条通知,这里的通知指的是iOS操作系统内的一个功能,更多体现在UI,交互,触发逻辑,通知方式上。推送:推送指的是由APNs服务器、ProviderService、iOS系统、App构成的通讯系统,是移动互联网和传统Web最明显的区别的地方。正因为有了推送,实现了服务器能够反向与用户建立联系,而不是等待转载 2017-02-09 11:41:47 · 760 阅读 · 0 评论 -
AIS和AFN的区别
一、底层实现1> AFN的底层基于OC的NSURLConnection和NSURLSession(AFNetworking在3.0版本中删除了基于 NSURLConnection API的所有支持。)2> ASI的底层基于纯C语言的CFNetwork框架3> ASI的运行性能高于 AFN二、对服务器返回的数据处理1> ASI没有直接提供对服务器数据处理的方式,直接返回d原创 2016-09-05 16:40:26 · 405 阅读 · 0 评论 -
文件压缩
一、技术方案1.第三方框架:SSZipArchive2.依赖的动态库:libz.dylib二、压缩11.第一个方法/** zipFile :产生的zip文件的最终路径 directory :需要进行的压缩的文件夹路径 */[SSZipArchive createZipFileAtPath:zipFile withContentsOfDirectory:d原创 2016-09-05 16:46:25 · 384 阅读 · 0 评论 -
iOS<null>处理
- (NSDictionary *)dictionaryByReplacingNullsWithStrings { constNSMutableDictionary *replaced = [selfmutableCopy]; constid nul = [NSNullnull]; constNSString *原创 2016-09-05 16:50:34 · 621 阅读 · 0 评论 -
iOS 复习笔记 UISlider基础篇(一)
@porperty1、value --这个值是介于滑块的最大值和最小值之间的,如果没有设置边界值,默认为0-1;2、minimumValue --设置滑块最小边界值(默认为0)3、maximumValue --设置滑块最大边界值(默认为1)4、minimumValueImage --设置滑块最左端显示的图片5、maximumValueImage --设置原创 2017-01-13 11:39:12 · 776 阅读 · 0 评论 -
Code_浅蓝之runtime学习与记录
iOS runtime 入门到实战原创 2017-03-19 16:50:07 · 576 阅读 · 0 评论 -
iOS 多环境配置六张图就够了
在工作中我们需要配置不同的环境,说白了就是配置不同的编译环境,这里所谓的开发、测试、生产环境只不过是见名知意,或者服务器给定不同的访问地址。让它们各司其职,分工明确。第一张点击创建的工程,右键点击 Duplicate ,会生产一个 Text1的Copy 的工程 和一个list文件,我们可以修改成 你所定义的名字 。第二张第三张我们还可以配置多种ICON, 在 Assets.xcassets 中 添加原创 2017-04-20 17:19:57 · 1220 阅读 · 0 评论 -
WebViewJavascriptBridge
混合开发中, 重点在于Native与H5的混合使用,那么JavaScript 和 Objective-C 交互也就成为了重中之重。JS与OC的交互iOS方向大致分为三种:传统WebView的代理方法、JavaScriptCore、第三方框架。本文围绕目前优秀的第三方框架 WebViewJavascriptBridge 展开.1. 准备文件, 导入 WebViewJavascriptBridge$ p原创 2017-09-19 18:59:34 · 840 阅读 · 0 评论 -
编写高质量iOS与OS X代码的52个有效方-Effective Objective-C 2.0阅读笔记
第1条:了解基本OC对象NSString *someString = @"The String";这种语法基本上是办照C语言的,它声明一个名为 someString的变量,类型为NSString* 。也就是说此变量指向 NSString的指针。所有Objective-C语言的对象都必须这样声明,因为对象所占内存总是分配在”“堆空间”(heap space)中, 而绝不会分配在”“栈”(stack)上原创 2017-11-16 10:13:16 · 1003 阅读 · 0 评论 -
NSTimer循环引用分析,解决
NSTimer常见用法@interface TimerClass : NSObject- (void)start;- (void)stop;@end@implementation TimerClass { NSTimer *_timer;}- (id)init { return [super init];}- (void)dealloc { NSLo...原创 2018-08-03 17:32:57 · 3720 阅读 · 0 评论