![](https://img-blog.csdnimg.cn/20190927151124774.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
iOS
文章平均质量分 92
做iOS app期间 整理的技术栈内容,无后续
baby_hua
人生之路漫漫兮 吾将上下而求索
展开
-
面试经典——有意思的Runtime(USE)
分类(Category): 在不子类化的情况下,为已经存在的类增加功能; 分类中的方法会成为类的组成部分,并且会被子类继承; 扩展: 是一种匿名分类,可以声明实例变量、属性和方法,我们常见的.m文件中@interface的一段就是一个扩展; 通常用在类实现的.m文件中,声明私有的实例变量、属性和方法; 扩展和分类的区别在于 他可以声明实例变量...原创 2019-01-29 11:23:03 · 266 阅读 · 0 评论 -
面试经典——有意思的Runtime(BASE)
内容概要:Pic11.Runtime的本质;2.Runtime中类和对象的定义;3.类是其元类的实例对象;4.对象 类 以及 元类的关系(isa和super_class指针); Pic21.OC如何调用方法及Method的定义;2.SEL和IMP是什么;3.函数调用到消息发送 objc_msgSend的使用;4.隐含的默认参数 self和_cmd; ...原创 2019-01-29 11:07:03 · 265 阅读 · 0 评论 -
面试经典-面试Runloop
Runloop: Runloop是事件接收和分发机制的一个实现; 是线程相关基础框架的一部分; Runloop的目的: 一个Runloop实质就是一个事件处理的循环:用来不停的调度工作和处理输入事件; Runloop循环会在有工作的时候工作,没有工作休眠;实际上,他保证了线程结束前不会被终止; 如果没有它,主线程执行完启动任务后,就直...原创 2019-01-21 15:35:08 · 1821 阅读 · 0 评论 -
面试经典-了解Runloop
本文属于梳理性文章,许多地方尚需深入,感谢Mrpeak大神,文末已附原文地址;燃烧的小宇宙,加油2019! RunLoop-OC:【RunLoop-OC】RunLoop-Swift:【RunLoop-Swift】 辅助理解知识点:mach_msg: 这是系统内核在某个port收发消息所使用的函数; 注意,收消息和发消息调用的都是这个函数,只是参数不同;...原创 2019-01-21 15:28:23 · 311 阅读 · 0 评论 -
面试经典-GCD API
GCD的API: 介绍完GCD,接下来让我们进一步看下GCD的API; dispatch_set_target_queue: 使用dispatch_queue_create生成的Dispatch Queue使用的都是与Global Dispath Queue默认优先级相同的执行优先级线程; 变更生成的Dispatch Queue的执行优先级就要使用dis...原创 2019-01-27 16:00:29 · 301 阅读 · 0 评论 -
面试经典-GCD简介
什么是GCD: Grand Central Dispath是异步执行任务的技术之一; 一般将应用程序中记述的线程管理的代码 在系统级中实现; 开发者只需要定义想要执行的任务 并追加到Dispath Queue中,GCD就能生成必要的线程并计划执行任务; GCD的线程管理作为系统的一部分实现,提供了系统级的线程管理,比以前的线程效率更高; 示例场景: ...原创 2019-01-26 15:26:36 · 1108 阅读 · 0 评论 -
面试经典-Block
实在是想不到该把Block放哪个栏目里,就放这里吧....... 请原谅我的草率 (*^__^*) Block: Block对象是C级别的语法和运行时特性:带有自动变量的匿名函数,除了包含可执行代码,还可能包括变量自动绑定(栈)或内存托管(堆);一个Block维护一个状态集(数据); Block运行时是开源的; Block定义: 使用^操作符来说明一...原创 2019-02-26 17:41:31 · 315 阅读 · 0 评论 -
面试经典-不被忽略的@property
我们都知道@property是用来声明属性的,可以保存类的状态或信息;而与其相关的内容,诸如copy、weak、深拷贝等,经常会在面试的过程中出现;接下来深入下这些模糊&熟悉的内容,理理顺; 内容概要:1.@property的本质;2.自动合成 和 动态合成(动态绑定的应用);3.原子性修饰符atomic 和 nonatomic;4.atomic修饰的属性是线程...原创 2018-12-25 19:24:19 · 284 阅读 · 0 评论 -
OC 运行时(Runtime)浅析(1)
前言:2017年的工作已经开始一段时间了,主要内容就是找工作,感受就是自己基础太差;面试是一个过程,一段经历,边面试边学习吧;作为比较重要的一部分理论,OC的运行时机制,显得比较突出,找了一天补了一下理论知识,后续实践过程中也会在多总结,相关的内容也会更新下,方便大家交流;本文内容源自《Objective-C 2.0 运行时系统编程指南》,下述的内容是我读的时候做的笔记,小伙伴们可以看原创 2017-02-21 18:04:52 · 581 阅读 · 0 评论 -
iOS平台Socket编程实践(一)
iOS平台Socket编程实践: iOS平台Socket编程主要内容及辅助工具: 1.TCP协议编程; 2.UDP协议编程; 3.WireShark抓包辅助分析;(www.wireshark.org) 网路基础薄弱的同学可以看下《计算机网络协议原理基础课程视频》原创 2017-07-20 11:57:25 · 601 阅读 · 0 评论 -
CoreData 基本使用(二)
使用CoreData原创 2017-07-12 14:40:15 · 334 阅读 · 0 评论 -
CoreData 框架简介(一)
CoreData 框架简介(一)这是该系列文章的第一篇,总体上介绍一下CoreData,目的是让我们对其概念和使用有个初步的印象和了解。iOS3.0引入的CoreData,用于本地存储和检索持久化数据;CoreData是一个功能强大的对象数据库,提供了强大的数据存储和管理能力。CoreData能将对象映射到关系数据库,让你在编写对象业务逻辑时,无需创建数据库,也不用编写持久化逻原创 2017-07-11 11:20:36 · 1111 阅读 · 0 评论 -
CoreData 如新如故
“真正的陪伴不是你的所有绝望我都感同身受,而是有我在一切都会好起来。”原创 2017-07-07 11:28:44 · 291 阅读 · 0 评论 -
iOS并发编程(五)-Migrating Away From Threads-(待改阅……)
题记:“抱怨是一种病,而且还会传染”Migrating Away From Threads:从现有的线程代码迁移到GCD和Operation对象有许多方法,尽管可能不是所有线程代码都能够执行迁移,但是迁移可能提升性能,并简化你的代码; 使用dispatch queue和Operation queue相比线程拥有许多优点: 1)应用不再需要存储线程原创 2017-05-11 18:42:09 · 456 阅读 · 0 评论 -
iOS并发编程(四)-Dispatch Sources-(待改阅……)
题记: “每个人都希望被这个世界温柔对待,但是没有冲突,没有不满,没有人告诉你你其实很一般,很多时候我们就只会温柔的待在原地,很多年。”未来估计一段时间没法工作了,等“归来”时,我们继续!Dispatch Source:1.关于Dispatch Source: 现代系统通常提供异步接口,允许应用向系统提交请求,然后在系统处理请求时应用原创 2017-05-08 10:43:01 · 502 阅读 · 0 评论 -
iOS并发编程(三)-Dispatch Queues(GCD)
题记:“最好的职业是能让你发挥所长,在现有的市场环境中游刃有余,实现个人抱负。”提醒诸位同行,注意身体健康。Dispatch Queues:1.简介: GCD dispatch queues是执行任务的强大工具,允许你同步或异步地执行任意的代码block; 原先使用单独线程执行的所有任务都可以替换为使用dispatch queues,而dispatc原创 2017-05-02 16:26:00 · 479 阅读 · 0 评论 -
iOS并发编程(二)-Operation Queues-(待改阅……)
题记:“大笑的人可能被当做傻瓜;流泪可能被视为脆弱;主动认识他人,可能会让自己尴尬;去爱一个人,要冒被伤害的风险;想进步,就要冒险,人生最大的风险,就是拒绝一切冒险。”来看下并发编程中异步线程的一种方式,还是理论知识,后续的内容完善之后,会着手去做一个下载器,并结合实际使用场景进行重构和优化来举例;Operation Queues:由于基于OC,因此基于Cocoa的应用通常会使原创 2017-04-19 11:42:02 · 421 阅读 · 0 评论 -
iOS并发编程(一)-简介
“一个菜鸟的自我修养,就是在低级职位上不抓狂,当一个优秀的菜鸟,就是为了有一天不当菜鸟。瞅准机会迅速脱离菜鸟轨道,然后一路飞翔到世界的尽头。“接下来系统的学习下并发编程,会有几篇吧,不多说,走起! 一 :简介 1.传统并发编程模型是线程,ios采用“异步设计方式”来解决并发的问题;-也就是一个线程中多核的使用,异步实现并发编程; 2.引入异步线程的方原创 2017-04-17 10:22:28 · 332 阅读 · 0 评论 -
Swift进阶笔记(一)
题记:前后大概一个月,住进了医院,领略了不一样的人生风景,现在回来了,哈哈,专注技能,努力成长,关爱家人,健康快乐。原创 2017-06-09 12:07:19 · 318 阅读 · 0 评论 -
iOS编程基础-Swift(五)-流程控制与其他(序)
Swift(iOS9 Programming Fundamentals With swift)第五章 流程控制与其他 本章介绍Swift语言剩余的其他方面; 1)Swift分支、循环与跳转流程控制结构的语法; 2)如何重写运算符以及如何创建自定义运算符;原创 2017-07-31 15:15:25 · 502 阅读 · 0 评论 -
iOS编程基础-Swift(五)-流程控制与其他
Swift(iOS9 Programming Fundamentals With swift)第五章 流程控制与其他 本章介绍Swift语言剩余的其他方面; 1)Swift分支、循环与跳转流程控制结构的语法; 2)如何重写运算符以及如何创建自定义运算符;原创 2017-07-27 11:57:30 · 468 阅读 · 0 评论 -
iOS编程基础-Swift(四)-对象类型(续)
Swift、Xcode和Cocoa入门指南(iOS9 Programming Fundamentals With swift)第四章 对象类型 第三章介绍了一些内建对象类型,不过还没有谈及对象类型本身(即 枚举 结构体 和 类); 本章结构: 1.介绍一下对象类型;原创 2017-07-24 11:21:44 · 1150 阅读 · 0 评论 -
iOS编程基础-Swift(四)-对象类型
Swift、Xcode和Cocoa入门指南(iOS9 Programming Fundamentals With swift)第四章 对象类型 第三章介绍了一些内建对象类型,不过还没有谈及对象类型本身(即 枚举 结构体 和 类); 本章结构: 1.介绍一下对象类型;原创 2017-06-30 17:58:35 · 1516 阅读 · 0 评论 -
iOS编程基础-Swift(三)-变量与简单类型
Swift、Xcode和Cocoa入门指南(iOS9 Programming Fundamentals With swift)第三章 变量与简单类型 深入介绍变量的声明和初始化,介绍所有主要的Swift內建简单类型; 这里的简单是相对‘集合’说的,第四章会介绍主要的内建集合类型;原创 2017-06-25 23:32:45 · 1889 阅读 · 0 评论 -
iOS编程基础-Swift(二)-函数
Swift、Xcode和Cocoa入门指南(iOS9 Programming Fundamentals With swift) 第二章 函数 Swift语法中最具特色也最重要的就是声明和调用函数的方式; 所有代码都位于函数中,而动作则是由函数触发的; print(sum(x: 4, 5))func原创 2017-06-15 19:42:56 · 774 阅读 · 0 评论 -
iOS编程基础-Swift(一)-Swift架构纵览
Swift、Xcode和Cocoa入门指南(iOS9 Programming Fundamentals With Swift)第一部分:语言 第一章:从概念与实践上介绍Swift程序的结构; 第二章:介绍Swift 函数; 第三章:介绍Swift变量; 第四章:介绍Swif原创 2017-06-14 10:40:28 · 1545 阅读 · 0 评论 -
iOS编程基础-OC(十七)-并发编程
该系列文章系个人读书笔记及总结性内容,任何组织和个人不得转载进行商业活动! 第17章 并发编程 在计算科学中,并发编程(concurrent processing)是指同时执行多个逻辑控制流(软件中实现的); 计算机系统中,并发处理可以在硬件层到应用层的多个层级中实现; 从程序员原创 2018-01-02 21:24:57 · 508 阅读 · 0 评论 -
iOS编程基础-OC(十五)-块的内存管理和使用
该系列文章系个人读书笔记及总结性内容,任何组织和个人不得转载进行商业活动! 第15章 块 15.3 块的内存管理 在运行程序时,块常量表达式会获得栈内存; 也因此,会拥有与局部变量相同的声明周期; 如果想在定义范围之外使用块常量表达式的话,就必须复制原创 2017-12-28 17:29:45 · 217 阅读 · 0 评论 -
iOS编程基础-OC(十五)-块
该系列文章系个人读书笔记及总结性内容,任何组织和个人不得转载进行商业活动! 第15章 块 之前已经介绍了OC平台的所有基础元素,现在介绍一些高级特性及程序中使用它们的方式; 本章介绍在程序中使用块的方式; 块语法和语义、块内存管理、怎样在程序中开发块和怎样使用现在API(如Foun原创 2017-12-27 18:22:38 · 251 阅读 · 0 评论 -
iOS编程基础-OC(十一)-Foundation框架中的系统服务:并发机制和线程
该系列文章系个人读书笔记及总结性内容,任何组织和个人不得转载进行商业活动! 第11章 Foundation框架中的系统服务 11.5 并发机制和线程 使用支持并发机制和线程的类可以实现管理线程的功能,以及通过线程并行执行多个代码块的功能; 接下来介绍原创 2017-12-26 10:02:35 · 331 阅读 · 0 评论 -
iOS编程基础-OC(十一)-Foundation框架中的系统服务:URL处理和进程间通信
该系列文章系个人读书笔记及总结性内容,任何组织和个人不得转载进行商业活动! 第11章 Foundation框架中的系统服务 11.6 URL处理 URL处理类用于通过标准Internet协议(ftp、http、https和本地文件),与URL进行交互和与数据资源进行通信;原创 2017-12-26 18:42:34 · 288 阅读 · 0 评论 -
iOS编程基础-OC(十一)-Foundation框架中的系统服务:网络、应用及文件系统服务
该系列文章系个人读书笔记及总结性内容,任何组织和个人不得转载进行商业活动! 第11章 Foundation框架中的系统服务 本章介绍提供系统服务的Foundation框架类; 为网络、文件管理、进程间通信、系统信息检索、文本处理、线程和并发机制提供多种操作系统服务; 11.1 网络服原创 2017-12-25 15:46:20 · 521 阅读 · 0 评论 -
iOS编程基础-OC(九)-专家级技巧:使用运行时系统API(续)
该系列文章系个人读书笔记及总结性内容,任何组织和个人不得转载进行商业活动! 第九章 专家级技巧:使用运行时系统API 9.2 使用运行时系统API 接下来仍然是编写一段程序: 该程序会使用运行时系统API以动态的方式创建一个类和一个类实例; 然后以动态方式向该实例添原创 2017-12-21 12:04:27 · 365 阅读 · 0 评论 -
iOS编程基础-OC(九)-专家级技巧:使用运行时系统API
该系列文章系个人读书笔记及总结性内容,任何组织和个人不得转载进行商业活动! 第九章 专家级技巧:使用运行时系统API 第7章和第8章介绍了OC的动态特性和用于实现这些特性的运行时系统结构; 本章将通过几个示例程序使你获得使用运行时系统功能及其API的实践经验; 你将使用NSInvocation AP原创 2017-12-18 15:26:47 · 451 阅读 · 2 评论 -
iOS编程基础-OC(八)-运行时系统的结构(续)
该系列文章系个人读书笔记及总结性内容,任何组织和个人不得转载进行商业活动! 第八章 运行时系统的结构 8.1.2 运行时系统库 苹果公司提供的OC运行时系统库实现了OC的面向对象特性和动态属性; 多数情况下,运行时系统库是在后台起作用,但也拥有公共的API; 我们可以在原创 2017-12-13 11:37:26 · 407 阅读 · 0 评论 -
iOS编程基础-OC(八)-运行时系统的结构
该系列文章系个人读书笔记及总结性内容,任何组织和个人不得转载进行商业活动!第八章 运行时系统的结构 运行时系统是OC平台的关键元素; OC语言的动态特性和面向对象功能就是由它实现的; 运行时系统提供了公用API,是你编写的代码能够直接调用运行时系统服务; 8.1 运行时系原创 2017-12-07 18:11:46 · 307 阅读 · 0 评论 -
iOS编程基础-OC(七)-运行时系统(续)
该系列文章系个人读书笔记及总结性内容,任何组织和个人不得转载进行商业活动!第7章 运行时系统 7.4 动态绑定 动态绑定(dynamic binding): 是指在运行程序时(而不是在编译时)将消息与方法对应起来的处理过程; 在运行程序和发送消息前,消息和接收消息的对象不会原创 2017-12-05 21:52:02 · 406 阅读 · 0 评论 -
iOS编程基础-OC(七)-运行时系统
该系列文章系个人读书笔记及总结性内容,任何组织和个人不得转载进行商业活动! 第7章 运行时系统 终于到了运行时这一章,让我们来一步一步揭开它神秘的面纱吧; OC拥有相当多的动态特性,这些特性在运行程序时发挥作用,而不是在编译或链接代码时发挥作用; OC运行时系统实现了这些特性;这些功能也为OC语原创 2017-11-28 17:07:20 · 333 阅读 · 0 评论 -
iOS编程基础-OC(六)-专家级技巧:使用ARC
该系列文章系个人读书笔记及总结性内容,任何组织和个人不得转载进行商业活动! 第6章 专家级技巧:使用ARC 本章是第一部分的最后一章; 本章介绍ARC内存管理中的细微之处; 如直接桥接对象使用ARC的方法; 6.1 ARC和对象所有权原创 2017-11-20 18:09:03 · 334 阅读 · 0 评论 -
iOS编程基础-OC(五)-预处理器
该系列文章系个人读书笔记及总结性内容,任何组织和个人不得转载进行商业活动! 第5章 预处理器 OC语言中含有一个预处理器,用于在编译前处理源文件; 其中有些处理操作是自动执行的; 另一些处理操作是根据源文件中包含的预处理器语言元素执行的; 预处理器语言用法丰富:那预处理器原创 2017-11-15 22:39:51 · 374 阅读 · 0 评论