盒子里的猫


  • Home

  • Archives

  • Categories

  • Tags

  • About

  • Search

五大设计原则

Posted on 2019-02-23 | In 编程通用基础
本文类容基于《Clean Architecture》 五大设计原则包括:单一职责原则(SRP)、开闭原则(OCP)、里氏替换原则(LSP)、接口隔离原则(ISP)和依赖反转原则(DIP),它们是经受过时间检验和筛选的软件设计指导思想,这种指导既适用于架构设计,也适用于程序设计,遵循设计原则,便于写出更具灵活性(易读、易扩展、易维护和易重用)的软件。 SRP: 单一职责原则单一职责原则最初的描述 ...
Read more »

iOS开发中好用的三方轮子

Posted on 2018-09-06 | In 实战经验
收录的库以Objective C为主,Swift三方库参见[]; 以⚠️标记表示作者已多年(3年及以上)未更新;* 以🚫标记表示作者已声明不再维护升级。 1.用户界面层(User Interface)视图控件对于更新不够频繁或自定义接口不够丰富的视图控件,最好直接使用其源码,而不是通过Cocoapods导入 MJRefresh:下拉刷新,上拉加载 MBProgressHUD:好用易扩展 ...
Read more »

Appledoc

Posted on 2018-09-06 | In 实用笔记
工具简介Appledoc是一款开源工具,使用它可以根据指定路径下代码文件中的注释,为项目生成Apple风格的API文档。 工具教程1.安装appledoc可以通过Homebrew安装,终端执行命令brew install appledoc即可,不过这种方式不会一并安装文档模板(template),所以更推荐通过appledoc项目的源文件来安装: 12345678# 1. clone appled ...
Read more »

五、事件传递机制(Responder Chain)

Posted on 2018-03-13 | In APP工作原理
UIEvent用户对设备的交互行为,最终会在APP中被包装为UIEvent,由对应的APP进行响应和处理,用户的交互行为到UIEvent的过程如下: 用户通过硬件产生一个交互,硬件将信息传递给系统; 系统的IOKit生成IOHIDEvent,并发送给SpringBoard; SpringBoard再通过系统端口将事件传递给对应的APP; APP主线程的RunLoop中,由UIKit注册了一个So ...
Read more »

二、APP的加载过程

Posted on 2018-01-07 | In APP工作原理
Reference:iOS 底层 - 从头梳理 dyld 加载流程iOS进阶 – 程序启动那些事Dyld系列之一:_dyld_start之前DYLD动态链接器dyld与ObjC从 dyld 到 runtime ExecutableAPP的加载过程就是APP中可执行文件的加载过程,了解这个加载过程之前需要先了解iOS中的可执行文件。MacOS中可以使用chmod+x命令来赋予一个文件可执行权限, ...
Read more »

一、APP的编译过程

Posted on 2017-12-23 | In APP工作原理
Reference:iOS App 的编译过程深入剖析 iOS 编译 Clang / LLVM关于bitcode, 知道这些就够了Mach-O 与静态链接 Xcode BuildXcode Build时以一个Target作为Build目标,当Target是一个iOS项目时,其实就是App的打包过程,除了对源代码文件进行编译,Xcode还做了很多其他的工作,主要包括: 准备Build环境:创建 ...
Read more »

四、事件处理机制(RunLoop)

Posted on 2018-03-02 | In APP工作原理
Reference:深入理解RunLoopRunLoop 详解 程序运行时代码都是顺序执行的,执行完毕程序就结束退出了,了解APP工作机制的一个基础,是弄清楚APP如何实现在内存中常驻的。 概述代码在程序的线程中顺序执行,当程序所有的线程中代码都运行完毕,程序就结束并退出了,iOS与MacOS中通过RunLoop机制来让线程可以一直保持运行,并循环的处理各类事件,从而让APP常驻在内存中持续工 ...
Read more »

四、内存管理

Posted on 2018-07-14 | In iOS编程进阶
Reference:Effective Objective-C 2.0理解 iOS 的内存管理内存管理基础Objective-C 中的内存分配iOS中的block是如何持有对象的 程序都是加载到内存中运行,了解APP工作机制,第一步先了解APP是如何使用内存的。 简述程序加载到内存中运行时,在内存中分静态数据(只读)和动态数据(读写)两部分,其中动态部分中堆的分配与释放由程序做内存管理,iOS ...
Read more »

八、视图的显示原理

Posted on 2018-12-25 | In APP工作原理
Reference:绘制像素到屏幕上iOS 保持界面流畅的技巧iOS界面渲染流程分析iOS开发-视图渲染与性能优化 显示逻辑iOS的APP运行起来后,主线程的RunLoop可以被用户交互、定时任务、GPU通知等所唤醒,唤醒后处理事件,完成对视图的更改;在RunLoop再次休眠前,根据所做的更改,由CPU完成视图约束更新、布局和绘制;再通过OpenGL ES(或Metal)生成纹理,提交给GPU ...
Read more »

七、UIView的布局与刷新

Posted on 2018-12-18 | In APP工作原理
Reference:先进的自动布局工具箱深入理解 Autolayout 与列表性能 Update CycleUIKit/QuartzCore为主线程的RunLoop添加了Observer,监听kCFRunLoopBeforeWaiting(休眠前)和kCFRunLoopExit(退出)事件,在事件的回调函数中会对视图的更新约束、布局和绘制任务进行处理,再汇总处理后的结果,提交给GPU渲染,每一 ...
Read more »
123
AI_Wei

AI_Wei

自由源于自信,自信源于自律

23 posts
6 categories
43 tags
GitHub G-Mail Weibo Wechat
Links
  • Freepik
© 2018 — 2021 AI_Wei