自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

KevinAshen的博客

如果发现博客里的图片裂了,请在简书上搜索同名文章或评论私聊

  • 博客(154)
  • 收藏
  • 关注

原创 个人博客已开通,欢迎访问

个人博客已开通,欢迎访问 https://kevinashen.github.io/

2021-01-02 12:42:25 407

原创 Mac终端配置指南

文章目录安装搭配主题使用挑选配色使用挑选成果参考文章安装iTerm2:https://www.iterm2.com/默认使用zsh终端chsh -s /bin/zshOh my zsh# curl 安装方式sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"PowerLine// 安装pippip install po

2020-11-06 16:37:42 751

原创 浅谈模块化

文章目录你将会了解到关于模块化依赖注入概念辨析依赖反转原则(Dependency inversion principle,DIP)控制反转(Inversion of Control,IC)依赖注入(Dependency injection,DI)实战:使用协议实现依赖注入实战:使用Swinject实现依赖注入服务定位器模式(Service Locator Pattern)概念例子:使用服务定位器模...

2020-01-02 18:10:03 657

原创 一个关于字符串的打印实验

文章目录第一部分题目与答案解析总结第二部分题目与答案总结附言第一部分题目与答案题目打印结果解析这里的TLog是自己定义的一个宏函数#define TLog(_var) ({ NSString *name = @#_var; NSLog(@"%@: %@ -> %p : %@", name, [_var class], _var, _var); })mutableStrin...

2019-12-04 21:18:28 500

原创 在尝试异步绘制前,我去了解了这些iOS渲染知识

文章目录前言FPSCPUGPU位图像素点如何出现在屏幕上渲染参与者we are A!R!G!B!合成透明与不透明Alpha,Hidden与Opaque区别合成区别对齐与不对齐离屏渲染(Offscreen Rendering)什么是离屏渲染(Offscreen Rendering)CRT显示器显示原理离屏渲染原理调试方式iOS绘制CALayer与UIView代码验证绘制细节绘制时机参考文章前言...

2019-11-06 19:51:07 1845

原创 《数据结构与算法之美》21~25笔记

文章目录关于我的仓库前言21讲哈希算法(上):如何防止数据库中的用户信息被脱库哈希算法MD5初识哈希算法七应用【前四】应用一:安全加密应用二:唯一标识应用三:数据校验应用四:散列函数解答开篇:守护最好的用户数据库课后题:现在,区块链是一个很火的领域,它被很多人神秘化,不过其底层的实现原理并不复杂。其中,哈希算法就是它的一个非常重要的理论基础。你能讲一讲区块链使用的是哪种哈希算法吗?是为了解决什么问...

2019-10-31 00:35:45 795

原创 《数据结构与算法之美》16~20笔记

文章目录关于我的仓库前言16讲二分查找(下):如何快速定位IP对应的省份地址变体一:查找第一个值等于给定值的元素变体二:查找最后一个值等于给定值的元素变体三:查找第一个大于等于给定值的元素变体四:查找最后一个小于等于给定值的元素开篇题目:如何快速定位出一个IP地址的归属地?课后题:LeetCode 33 搜索旋转有序数组17讲跳表:为什么Redis一定要用跳表来实现有序集合理解跳表跳表的优越性跳表...

2019-10-15 16:28:45 550

原创 《数据结构与算法之美》11~15笔记

文章目录关于我的仓库前言11讲排序(上):为什么插入排序比冒泡排序更受欢迎如何比较排序算法冒泡排序(Bubble Sort)原理代码特点分析插入排序(Insertion Sort)原理代码特点分析选择排序(Selection Sort)原理代码特点分析希尔排序(Shell Sort)原理代码特点分析总结课后题:我们今天讲的几种排序算法,都是基于数组实现的。如果数据存储在链表中,这三种排序算法还能工...

2019-10-11 14:45:05 546

原创 《数据结构与算法之美》06~10笔记

文章目录关于我的仓库前言06讲链表(上):如何实现LRU缓存淘汰算法实现LRU缓存淘汰算法课后题:如何判断一个字符串是否是回文字符串的问题,我想你应该听过,我们今天的思题目就是基于这个问题的改造版本。如果字符串是通过单链表来存储的,那该如何来判断是一个回文串呢?你有什么好的解决思路呢?相应的时间空间复杂度又是多少呢?【LeetCode 234 回文链表】07讲链表(下):如何轻松写出正确的链表代码...

2019-09-23 20:03:38 569

原创 一篇文章剖析block底层源码以及Block.private

文章目录关于我的仓库前言准备工作最简单block__block_impl结构体struct __main_block_impl_0结构体`static void __main_block_func_0(struct __main_block_impl_0 *__cself)``static struct __main_block_desc_0`主函数【blk实际调用】截获自动变量的block新的`...

2019-09-20 22:56:14 916

原创 《iOS高级编程》中的Block:概要规范篇

文章目录关于我的仓库前言准备工作Blocks概要疑惑: p.81 buttonIdBlock语法与一般C语言函数不同点:格式标准格式省略格式block变量截获自动变量__block说明符截获的自动变量关于我的仓库这篇文章是我为面试准备的iOS基础知识学习中的一篇我将准备面试中找到的所有学习资料,写的Demo,写的博客都放在了这个仓库里iOS-Engineer-Interview欢迎sta...

2019-09-15 17:51:03 385

原创 《韩立刚计算机网络》第二章

文章目录关于我的仓库前言物理层的基本概念数据通信的基础知识数据通信模型相关术语信道信号调制方法编码信道的极限容量奈氏准则信噪比应用范围物理层下面的传输媒体各种电缆网线光纤非导向传输媒体频谱远古设备:集线器信道复用技术复用频分复用技术FDM时分复用技术TDM统计时分复用STDM波分复用WDM数字传输系统宽带接入技术xDSLDMTHFCFTTx关于我的仓库这篇文章是我为面试准备的学习总结中的一篇...

2019-09-14 20:16:45 807

原创 iOS开发萌新看2019Apple秋季发布会

文章目录前言游戏【Arcade】AppleTV+iPadOSWATCHiPhoneiPhone Pro总结前言翻译姐姐台湾腔太浓了啦游戏【Arcade】扣纳米,卡普空大厂好多,但游戏都是过关冒险类,感觉么得意思九月19号开始使用游戏月订阅活动,每个月4.99刀【家庭】,一个月免费试用么的兴趣AppleTV+《The Morning Show》由珍妮佛安妮斯顿(Jenn...

2019-09-11 10:00:18 573

原创 《韩立刚计算机网络》第一章

文章目录关于我的仓库前言局域网+广域网+Internet局域网Internet广域网计算机通信数据的过程浏览网页的过程OSI参考模型网络排错网络安全TCP/IP协议和OSI参考模型计算机网络的性能速率带宽吞吐量时延时延带宽积往返时间【RTT】利用率关于我的仓库这篇文章是我为面试准备的学习总结中的一篇我将准备面试中找到的所有学习资料,写的Demo,写的博客都放在了这个仓库里iOS-Engin...

2019-09-09 22:06:17 1272

原创 浅谈属性关键字

文章目录关于我的仓库前言原子性atomic与nonatomic为什么会出现线程不安全读写权限内存管理内存管理四天王——ASWCassginstrongweakcopy杂鱼小虾总结默认关键字weak与assgin的区别关于我的仓库这篇文章是我为面试准备的iOS基础知识学习中的一篇我将准备面试中找到的所有学习资料,写的Demo,写的博客都放在了这个仓库里iOS-Engineer-Intervi...

2019-09-02 22:34:06 564 2

原创 《趣谈网络协议》00~04笔记

文章目录关于我的仓库前言00讲想成为技术牛人?先搞定网络协议!01讲为什么要学习网络协议?引入:什么是协议?协议三要素协议例子【准备掉头发吧!】以一个在电商网站上下单的过程初识有哪些常用网络协议目标IP地址补充知识:URL应用层补充知识:http与https传输层补充知识:端口网络层【计算机网络露出了狰狞的笑容】补充知识:MAC地址下面是一段刘超老师的神奇比喻所有涉及到的协议课后题:当网络包到达一...

2019-08-22 21:50:01 1367

原创 浅谈RunLoop

文章目录关于我的仓库前言准备工作RunLoop概览RunLoop = 跑圈RunLoop也是一个对象RunLoop与线程的关系四句箴言验证主线程RunLoop的开启RunLoop封装RunLoop相关类五类无泪CFRunLoopRefCFRunLoopModeRef一个运用common的常见例子**CFRunLoopSourceRef****CFRunLoopTimerRef****CFRunLo...

2019-08-15 19:08:50 841

原创 《数据结构与算法之美》01~05笔记

文章目录关于我的仓库前言01讲为什么要学习数据结构和算法课后题:你为什么要学习数据结构和算法呢?在过去的软件开发中,数据结构和算法在哪些地方帮到了你?02讲如何抓住重点,系统高效地学习数据结构与算法课后题:请思考一下你自己学习这个专栏的方法,你在之前学习数据结构和算法的过程中,遇到过什么样的困难或者疑惑吗?03讲复杂度分析(上):如何分析、统计算法的执行效率和资源消耗**O(1)****O(log...

2019-08-10 16:51:20 574 1

原创 《iOS高级编程》中的多线程与GCD

文章目录关于我的仓库前言准备工作什么是多线程以及GCD做了什么多线程的定义补充知识:进程与线程补充知识:CPU,CPU核以及时间片多线程利弊GCD中的APIDispatch Queuedispatch_queue_createMain Dispatch Queue/Global Dispatch Queuedispatch_set_target_queuedispatch_afterDispatc...

2019-08-10 10:15:56 338

原创 浅谈KVO用法以及底层实现

文章目录关于我的仓库前言使用以及注意点三个方法addObserver:forKeyPath:options:context:observeValueForKeyPath:ofObject:change:context:removeObserver:forKeyPath:实操见真章俺也整一个【自己实现KVO】实现原理测试代码NSKVONotifying_Personsetter方法内部实现几个注意点...

2019-08-07 21:01:10 305

原创 事件传递,响应者链以及手势识别器

文章目录关于我的仓库前言好多概念“响应链”(responder chain)UIEventUITouchUIEvent与UITouch手势识别器【**GESTURE RECOGNIZER**】UIView,UIGestureRecognizer以及UIControl响应者链全貌hit-test小实验:hittest调用顺序hittest调用顺序问题:为什么我们的hittest走了两次,打印了两遍?...

2019-08-06 19:20:12 463

原创 从RunTime源码回看消息转发机制【三次拯救】

文章目录关于我的仓库前言准备工作一个说法关于消息转发三道防线关系图动态方法解析【resolveInstanceMethod】作用runtime源码实际使用直接返回YES正常调用加大难度整理波思路备用接受者【(id)forwardingTargetForSelector:(SEL)aSelector。】作用runtime源码正常使用意义完整转发【(void)forwardInvocation:(NS...

2019-07-31 16:06:48 445

原创 从RunTime源码回看消息发送及其基础知识

文章目录关于我的仓库前言准备工作method_tSEL nameconst char *typesMethodListIMP imp方法调用的大致流程【消息发送】imp具体作用在cache以及rw结构体中方法存储的区别关于我的仓库这篇文章是我为面试准备的iOS基础知识学习中的一篇我将准备面试中找到的所有学习资料,写的Demo,写的博客都放在了这个仓库里iOS-Engineer-Interv...

2019-07-30 09:43:41 216

原创 从RunTime源码回看weak底层实现

文章目录关于我的仓库前言准备工作数据模型SideTables()StripedMap补充知识:哈希桶补充知识:模版函数补充知识:alignas()补充知识:重载SideTablespinlock_t slock【自旋锁】补充知识:锁补充知识:分离锁&&拆分锁补充知识:自旋锁补充知识:并行&&并发苹果的抉择RefcountMap refcnts【存放引用计数】Dens...

2019-07-20 17:23:33 602

原创 从RunTime源码回看autoreleasepool

文章目录关于我的仓库前言准备工作最熟悉的陌生人:@autoreleasepool补充知识:RunLoop概念clang编译AutoreleasePoolPagefind it!数据结构pushvoid *push()哨兵对象POOL_BOUNDARYautoreleaseFastautoreleaseNoPageautoreleaseFullPagepopreleaseUntil卑微工程师kill...

2019-07-18 17:51:15 366

原创 RunTime源码中的基本结构体【类,对象,isa】

文章目录关于我的仓库前言准备工作类与对象对象objc_object补充知识:OC类的本质找到它?isa_t类objc_class说明:isa指针引入概念:元类与根类isa闭环补充知识:类方法与实例方法的存储isa详解完整定义uintptr_t bits【unsigned long bits】union isa_t结构分析补充知识:arm 64与x86_64各个部分存储空间isa_t的初始化init...

2019-07-17 11:55:19 347

原创 《iOS高级编程》中的ARC

文章目录关于我的仓库前言准备工作内存管理四大原则ARC规则(p.29 ~ p.65)__strong修饰符补充知识:id的本质超出变量作用域 = 废弃__strong对象相互赋值方法参数中使用__strong__strong导致的循环引用补充知识:内存泄漏赋值阶段失效阶段为什么test0失效的时候,obj_依然存在造成结果我要dealloc TestA我要dealloc TestB对自身的强引用_...

2019-07-15 19:00:08 405

原创 《iOS高级编程》中的内存管理基础【MRC】

文章目录前言实验Demo:准备工作内存管理(引用计数)的思考(p.2 ~ p.13)记住一张表格四项基本原则注意点疑点内存管理四兄弟【alloc】【retain】【release】【dealloc】(p.13 ~ p.20)说明alloc计数GNU实现retainCountretainrelease&&deallocApple实现引用计数&&哈希表autorelea...

2019-07-13 19:21:24 215

原创 玩转iOSARkit以及3D模型

文章目录前言解析下代码planeBox换个模型推荐的3D模型网站下载模型注意事项将新模型放到项目里渲染模型两个诡异错误Scene is modified in a rendering callback of another scene.模型不出来模型大小调整前言学AR的过程真的是很痛苦,网上搜搜靠谱的资料几乎没有,像样的Demo基本swift,关键的特性更是发现互联网白茫茫一大片,完全没我想...

2019-06-23 21:50:54 1450

原创 当我们学OC的时候,我们在学什么

文章目录前言类与对象创建一个类接口部分什么是接口我们在接口里放什么为什么这么做实现部分成员变量&&属性一句话总结getter以及setter方法点语法一个错误的例子init,self,superinit方法重写init方法改写init方法的例子扩展前言昨天给大一的同学分享了波OC基础知识,自己也是趁此机会将整个OC基础融会贯通地梳理了一遍,其实还挺爽的OC是一门面向对象的语...

2019-06-23 16:06:22 513 1

原创 生成GitHub中Readme的目录

文章目录前言使用方法安装使用说明前言markdown的语法其实一直都没有统一的版本,GitHub的readme就很神奇的不支持[toc],无法自动生成目录也有很多人写了生成目录的脚本等等,但很多都是还要配环境等等,因此我在这里推荐的是一款输入命令即可使用的插件GitHub地址github-markdown-toc使用方法安装//mac 其他版本可以去看原仓库的readme$ c...

2019-06-19 12:41:14 2525

原创 isEqual以及==

文章目录前言结论打印比较代码打印结果思考前言isEqualToString以及==是在OC中比较让人疑惑的一环发现网上很多博客其实都在互相拷贝,错误的回答一遍一遍被重复下去所以我也说不上什么深奥的见解,但我全部使用编译器打印来说明结论先说毋庸置疑的结论:isEqualToString方法比较的是内容,==比较的是地址打印比较代码 NSString *a = [NSS...

2019-06-16 16:24:59 527

原创 Run ! (5) The document “xxx” could not be saved

文章目录前言吐槽参考文章解决一哈前言白雪公主当初就是吃了有毒的苹果晕倒了,在学习iOS开发的过程中,我也时不时感受到苹果的“毒性”,所以让我们来写一系列文章吐槽吧!本系列包含众多胡说八道,作者更是一个学习编程的小学生,经常写了文章之后发现错误连篇,结果还懒得改,实在罪大恶极,大家见到他后一定请他吃饭,让他羞愧而死吐槽写课设的时候,到处挑选好的代码,不知道copy哪段代码的时候出了什...

2019-06-16 14:21:37 4331 8

原创 TTMS(仿猫眼电影)iOS版项目报告

文章目录前言GitHub所有使用到的第三方库项目详细说明登陆注册登陆预览文件名注册预览文件名总结城市定位预览文件名总结选择电影预览文件名总结选择影院预览文件名查看我的订单预览文件名选择场次预览文件名总结选座预览文件名总结遇到的问题code = xxx数据传不过去遗憾前言该作品是2019年软件工程课设作品,整体界面仿照猫眼电影App制作,其中电影列表与影院列表是直接调用的猫眼的api,安排的演...

2019-06-15 21:13:51 1579

原创 iOS与后台对接时使用AFN会遇到的各种问题

文章目录前言code = "xxxx"code = "-999"解释:解决方法:code = "3840"解释:解决方法:code = "-1011"解释:解决方法:code = "-1202"解释:解决方法:code = "-1001"解释:解决方法:前言又到每年课设季,又是喜闻乐见的TTMS(什么,你没听说过?这是西邮特产——剧院管理系统)。去年课设的时候才刚刚接触iOS开发,还写不了i...

2019-06-13 11:47:38 765

原创 深入理解present以及dismiss

文章目录前言GitHubDemopresentingViewController和presentedViewController文档描述Xcode打印实验分析多次弹窗描述Xcode实验dismiss文档描述举个栗子总结前言present以及dismiss显然是iOS开发最先学到的东西了项目中出现了要dismiss回上上个viewController,在查找方法时,发现调用present方法...

2019-06-07 21:37:19 1221

原创 Block注意点——避免调用空Block

文章目录前言Block的构成我遇到的问题项目问题用Block解决然鹅解决前言block实在是很强大的神器,回调的时候常常觉得这也行,真的很爽在写项目的时候遇到了block为空的问题,解决下来感觉对block的理解加深了很多Block的构成Block可以看作由两部分组成,一个是定义,调用,另一个是回调内容我们用block实现回调,本质上就是回调内容是写在前面的,但是我们实际调用是写...

2019-06-04 12:06:01 725

原创 萌新iOS开发者看WWDC19

文章目录前言开场视频iOS13深色模式系统APP备忘录地图隐私地点登陆家庭信息与照片信息照片siri与AirPods等等AirPodsHome PodsCarPlay快捷SiriNeural TTSVoice Control前言我看的是B站这个视频【中文配音】苹果 WWDC 19 发布会 iOS 13 watchOS 6 Mac OS Mac Pro 新款其他AppleWatch等等好东西...

2019-06-04 10:59:27 372

原创 网络/相机获取图片时如何避免图片变形

文章目录前言contentMode介绍UIViewContentModeScaleAspectFill参考文章前言在写项目时,要显示从相机获取的图片,比如将它显示在一个UIImageView上,但是由于相机有横屏与竖屏拍摄,导致图片的尺寸,长宽比都是不一定的如果直接把不合适的图片塞到UIImageView里,图片会变形,强行适应framecontentMode介绍contentM...

2019-05-31 21:24:18 348

原创 Run Snow-white ! Run ! (4) 当你的URL带空格时

文章目录前言吐槽参考文章解决一哈原因解决方法前言白雪公主当初就是吃了有毒的苹果晕倒了,在学习iOS开发的过程中,我也时不时感受到苹果的“毒性”,所以让我们来写一系列文章吐槽吧!本系列包含众多胡说八道,作者更是一个学习编程的小学生,经常写了文章之后发现错误连篇,结果还懒得改,实在罪大恶极,大家见到他后一定请他吃饭,让他羞愧而死吐槽在写图像识别是,有个功能是将我们识别出来的食物名字通过...

2019-05-30 18:39:52 184

空空如也

空空如也

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

TA关注的人

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