-
计算机渲染原理⭐️
目录 渲染原理 渲染流水线渲染原理一、屏幕刷新率是60FPS,且UI在主线程刷新1秒是1000毫秒,每秒进行60次屏幕刷新,也就是60帧图像,所以每帧图像停留的时间是16.17毫秒UI为什么要在主线程刷新?1、UIKit框架不是线程安全的,在不同的线程下分别更新UI会有问题,比如一个线程要把lable显示成功两个字,一个线程要把lable显示失败两个字。 所以需要放在一个线程内,这个线程就是主线程2、用户的触摸、手势等事件都是在主线程上处理的,如果 UI 操作在其他线程上执行,可能导...…
-
drawRect
目录 介绍 调用时机 调用栈介绍该方法是做什么的? 这个方法的默认实现什么也不做。 视图需要自定义绘制时(UIKit提供的视图无法满足时),可以重写该方法。比如渐变背景、绘制图形和路径等。需要注意的地方 当这个方法被调用时,UIKit已经为你的视图配置了适当的绘图环境,你可以调用任何绘图方法和函数。 您应该将任何绘图限制在rect参数中指定的矩形内。调用时机1、当视图首次显示时。 2、视图需要更新时,比如屏幕旋转和视图大小改变时。 3、调用setNeedsDis...…
-
layoutSubviews
参考文章:setNeedsLayout VS layoutIfNeeded 参考文章:[译] 揭秘 iOS 布局 参考文章:runloop 与 布局目录 介绍 调用时机 setNeedsLayout layoutIfNeeded 总结介绍-(void)layoutSubviews;子类可以根据需要重写这个方法,以执行更精确的子视图布局。initWithFrame:是在初始化时拿到的frame,如果初始化完成之后,父view的size发生了变化,需要对当前view及其子vi...…
-
CFBundleShortVersionString 与 CFBundleVersion
参考:info.plist key 说明目录 CFBundleShortVersionString CFBundleVersionCFBundleShortVersionStringCFBundleShortVersionStringCFBundleShortVersionString (String - iOS, macOS) specifies the release version number of the bundle, which identifies a released...…
-
课程6 iOS基础进阶班(第六部分)-大神推荐
参考:iOS基础进阶班合辑-大神推荐 本文是上面课程的摘要,只用于自己快速浏览.目录 29 数据库 30 数据库 2 31 数据库 329 数据库【录播】1.(了解)数据库简介(13分钟) iOS中数据存取的方式 Plist(NSArray\NSDictionary) Preference(偏好设置\NSUserDefaults) NSCoding(NSKeyedArchiver\NSkeyedUnarchiver) ...…
-
课程3 iOS基础进阶班(第三部分)-大神推荐
参考:iOS基础进阶班合辑-大神推荐 本文是上面课程的摘要,只用于自己快速浏览.目录 08 iOS大神班-网络多线程-第三章(中)08 iOS大神班-网络多线程-第三章(中)【录播】NSCache简单介绍(4分钟) NSCache是苹果官方提供的缓存类,具体使用和NSMutableDictionary类似,在AFN和SDWebImage框架中被使用来管理缓存 苹果官方解释NSCache在系统内存很低时,会自动释放对象,建议:接收到内存警告时主动调用removeAllOb...…
-
课程2 iOS基础进阶班(第二部分)-大神推荐
参考:iOS基础进阶班合辑-大神推荐 本文是上面课程的摘要,只用于自己快速浏览.目录 01 iOS大神班-UI进阶-第一章(上) 02 iOS大神班-UI进阶-第一章(下)启动过程/UIWindow/View的加载 05 iOS大神班-UI进阶-第三章(上)view的生命周期 07 iOS大神班-UI进阶-第四章(上)数据的本地存储 10 iOS大神班-UI进阶-第五章(上)事件的传递 11 iOS大神班-UI进阶-第五章(下)响应者链条 17 iOS大神班-UI进阶-...…
-
课程1 iOS基础进阶班(第一部分)-大神推荐
参考:iOS基础进阶班合辑-大神推荐 本文是上面课程的摘要,只用于自己快速浏览.目录 01 iOS大神班-UI基础-第一章(上) 02 iOS大神班-UI基础-第一章(下) 03 iOS大神班-UI基础-第二章(上) 04 iOS大神班-UI基础-第二章(中) 06 iOS大神班-UI基础-第三章 07 iOS大神班-UI基础-第四章 08 iOS大神班-UI基础-第五章(上) 09 iOS大神班-UI基础-第五章(下) 11 iOS大神班-UI基础-第六章(下) ...…
-
File介绍
目录 概览 详细概览在Ruby中,File 类是用于处理文件操作的核心类之一。它提供了许多方法,使得文件的读取、写入、以及其他一些文件操作变得简单而灵活。1-1 文件是否存才 File.exist? path1-2 创建文件 file = File.new fileName file = File.open fileName "w"2 文件需要打开(r w a)和关闭 file = File.open path, "r" file.close3 文件内容的...…
-
Dir介绍
目录 概览 详细概览获取当前路径和修改当前工作目录 Dir.pwd -> string #接受一个可选参数,成功返回0。不指定string切换到HOME目录 Dir.chdir( [ string] ) -> 0 目录是否存在和创建删除一个目录 Dir.exist?(file_name) -> true or false Dir.mkdir( string [, integer] ) -> 0 Dir.delete( s...…
-
Ruby概览
目录 常量 变量和数据类型 分支结构 循环结构常量# 常量Name = "xiaoming"# 变量age = 18# 全局变量$all = "hello world"变量和数据类型一、基础类型bl = falsenum = 18str = "hello wolrd"array = [1, 2, 3]hash = {name: "xiaoxing", age: 18}二、方法# 方法def testfn name, age puts "#{name},#{age}" e...…
-
制作一个命令行工具
目录 示例代码 制作步骤 使用示例代码模仿pod制作一个xypod示例代码:在xypod.rb文件内的代码两个重要的点: 一、在文件头部指定shebang 二、给文件添加执行权限#!/usr/bin/rubydef handleHelp hint = "Usage: $ pod COMMAND CocoaPods, the Cocoa library package manager.Commands: + cache Manipulat...…
-
Ruby调试
目录 Gem介绍 调试环境配置 solargraph配置Gem介绍在 Ruby 中,gem install、bundle install 和 bundle exec 是与 RubyGems 和 Bundler 相关的三个不同的命令,用于管理和安装 Ruby 项目的依赖项。以下是它们的简要说明:bunlder 是一个管理项目的管理工具,bundle是bundler的助手一、gem install:用于安装 RubyGems 中的 gem 包(库)。示例:gem install gem_...…
-
Ruby介绍和安装
目录 Ruby介绍 RVM安装和卸载 rvenv安装和卸载 homebrew安装和卸载Ruby介绍一、概念介绍RVM:管理不同的ruby版本ruby:ruby语言,ruby命令行工具,ruby解释器gem:ruby的包管理器,用于管理和分享ruby库、框架和应用程序二、安装方式Mac 系统自带的 ruby不要卸载。查看安装的所有ruby的位置which -a ruby概述:Ruby的安装有三种方式rvm 安装rbenv 安装homebrew 安装前两种方式为官方推荐:https:/...…
-
Jenkins
目录 介绍 安装介绍安装 行者常至,为者常成!…
-
zsh主题配置
-参考文章1:zsh+oh-my-zsh+powerlevel10k终端配置目录 安装oh-my-zsh 安装powerlevel10k安装oh-my-zsh一、安装1、介绍 oh-my-zsh 是一个 Zsh 框架(它是一个用来给zsh进行各种灵活配置的项目),因此它只能在 Zsh 中使用。 如果你的默认 shell 是 Bash 需要切换到 Zsh 作为默认 shell。现在mac的默认shell已经是zsh了。 先查看使用的是bash还是zsh╰─ echo $S...…
-
修改文件名脚本
目录 修改文件名脚本修改文件名脚本#!/bin/bash# 修改:指定目录directory="/Users/lxy/LXYFile/ResourceInGithub/JiangHuHiKe/_posts/2021_A_Overview"# 修改:指定开始时间start_date="2021-02-01"current_date=$(date -jf "%Y-%m-%d" "$start_date" "+%Y-%m-%d")# end_date=$(date "+%Y-%m-%d")# ...…
-
随记
目录 随记随记一、不同方式运行指令export PATH="$NEW_SDK/bin/cache/dart-sdk/bin:$PATH"export PATH="$NEW_SDK/bin:$PATH"上边指令直接在终端窗口运行和放在test.sh文件通过./test.sh运行有什么不同?直接在终端窗口运行,然后flutter –version 发现当前环境的flutter版本已经被修改。 通过./test.sh运行,然后flutter –version 发现当前环境的flutter版本...…
-
Shell概览
目录 常用指令 变量 数据类型 分支结构 循环结构 文件操作 和 三剑客常用指令终端# tty 是一个用于显示当前终端设备的命令18:40:57 › tty/dev/ttys001# 另一个终端设备18:45:35 › tty/dev/ttys014# 两个终端设备通讯,写入到终端ttys001输出echo "haha" 1> /dev/ttys001一、shebang# 文件头的shebang,指定使用的是zsh,还是bash#!/bin/zsh二、指令cat <...…
-
Shell介绍
目录 介绍介绍shell能干什么? 自动化的处理一些任务bash和zsh他们是一系列的命令集合,他们都有像if 和 while这样的控制结构(脚本语言) shell脚本语言(命令集合:bash/zsh) - shell解释器(命令解释器:bash/zsh)shell执行环境是什么? 简单理解就是:Shell脚本在执行时使用的环境变量、解释器、所处上下文构成了脚本的执行环境。 例如:在xcode的Run script中执行的脚本的执行环境就是:xcode提供的环境变量 + mac中的...…