- 博客(154)
- 收藏
- 关注
原创 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关注的人