扬庆の博客

扬庆の博客

寒江孤影,江湖故人。

UIWindow
UIWindow简单介绍 UIWindow是一种特殊的UIView,通常在一个app中只会有一个UIWindow iOS程序启动完毕后, 创建的第一个视图控件就是UIWindow ; 接着创建控制器的view,最后将控制器的view添加到UIWindow上,于是控制器的view就显示在屏幕上了. 一个iOS程序之所以能显示到屏幕上,完全是因为它有UIWindow。也就说,没有UIWindow,就看不见任何UI界面 补充:UIWindow是创建的第一个视图控件(创建的第一个对象是UIapplication) 创建视图 添加视图到 UIWindow 先创建 UIWindow...
UIResponder
UIResponder前言:app 与人进行交互,依赖各种事件 举一个例子☝️: 用户点击界面按钮,需要触发一个按钮点击事件,并进行相应的处理,以给用户一个响应. UIView 的三大职责之一就是处理响应事件, 一个☝️视图是一个事件响应者,可以处理点击事件 这些事件就是在 UIResponder 类中定义的 一个UIResponder类为那些需要响应并处理事件的对象定义了一组接口。这些事件主要分为两类:触摸事件(touch events)和运动事件(motion events)。UIResponder类为每两类事件都定义了一组接口,这个我们将在下面详细描述。 在UIKit中,UI...
Swift 优雅使用 ReuseableIdentifier
Swift 怎么优雅使用 Reuseable Identifier 使用协议 使用结构体 由于苹果保准UITableView视图的性能,使用了cell重用机制,cell可以通过重用标识符(reusableIdentifier)进行复用,默认的注册cell和获取cell的方法中,需要传入一个字符串作重用标识符. 但这种方式很容易出错,而且使用起来也相当别扭 , 一种普遍的解决方式, 就是直接只用类名作为重用标识符 引出问题 每次都要传入一个类,并且把它转成字符串.所幸,借助Swift泛型特性,我们可以有更加优雅的实现方式 . 使用协议协议+泛型 优化tableView cells的...
Delegate
代理 概念 一种通用的设计模式,在iOS中对代理设计模式支持的很好,有特定的语法来实现代理模式,OC语言可以通过@Protocol实现协议。 使用 iOS中一种消息传递的方式,可以通过这种方式来传递一些参数 . 代理的三部分组成: 协议: 指定双方(代理方,委托方)必须做什么❓ 代理: 实现 委托方需要的帮助 😊 (根据指定的协议) 委托: 告诉代理我需要哪些帮助😜 (根据指定的协议) 所以这里,双方都需要遵守协议 协议 Protocol如上图 , 可知道三方之间的关系 , 在实际应用中通过协议来规定代理双方的行为 ; 协议中的内容一般都是 ...
类和结构体区别1
类+继承 结构体+协议Swift 是面向协议编程 一个类可以积分另一个类的方法, 属性和其他特性. 在Swift中, 继承是区分”类”和其他类型的基本区别 . 原本任何需要”类+继承” 来实现的功能都可以被”值类型+协议” 所取代 . 这个说法并不夸张 类和结构体概念问题: 是否所有的模型都建议使用struct? 因为struct 是值类型,放在栈里面, 没有引用计数, 速度比class快几千万倍https://www.jianshu.com/p/119419d93a1e 系统自动生成面向其他代码的外部接口 注意: 结构体总是通过复制的方式在代码总传递,不使用引用计数 类和结...
Hexo- 解析域名到自己的博客(2)
Hexo CNAME不生效,每次deploy后都要手动设置域名 (解决问题)原理Hexo在执行 hexo generate 的时候会在本地先把博客生成的一套静态站点放到 public 文件夹里, 在执行 hexo deploy 时将其复制到.deploy 文件夹里. 将 CNAME 文件放到 /source文件夹下,内容为自己的域名, 例如: yqblog.cn 上面这个方法, 我本地尝试的不成功, 每次还是会被替换成 github.io 的地址, 索性通过插件的方式解决了这个问题. 12插件地址:$ npm install hexo-generator-cname --save ...
Hexo- 解析域名到自己的博客(1)
Hexo 绑定域名解析到自己的博客(教程)看到这里, 默认你已经购买了域名, 并能进入域名管理界面 购买域名 【自己百度吧】 先在 hexo 的博客目录中, /source目录下, 新建一个文件, 取名CNAME即可,内容为你的域名, 如图: 该步骤很重要, 不然会引起每次 deploy 之后 , 都要去 github 上重新指定域名地址 进入DNS 解析管理, 添加两条 CNAME 记录, @和 www, 记录值就是 github 的 博客地址; 添加完之后, www.xxx.cn 域名就已经绑定好了, 这个时候就要去 github 上设置域名关联 先去解...
Xib 布局 UIScrollview
xib 布局 UIScrollView界面控件:label View scrollView 场景 xib 布局 UIScrollView 一个常见的场景, 界面有一个 label, label 的内容决定 View 在 UIScollView 上的显示区域, 随着内容的增多而撑开, 但是 view 距离屏幕底部距离固定不变 , 这里根据我实际操作一遍, 做个记录. 要达到的效果: label 距离 view 间距不变 view 距离屏幕的底部距离不变 如需转载请注明出处
hexo- 文章插入图片
Hexo 如何优雅的插入本地图片安装一个插件npm install https://github.com/CodeFalling/hexo-asset-image --save 如果 github 连通性不好的情况下大概要 10 分钟 修改配置文件 _ config.yml 根目录下的配置文件 1post_asset_folder: false #改为true 改变当我们在命令行新建一个 post 的时候, 你会发现多了一个文件夹同名同时被创建 图片放入该文件夹下即可 使用图片资源1![图片的描述](图片名称) 是不是很简单, 和平常的 markdown 书写格式一...
Hexo- 两台电脑同步问题解决
解决 Hexo: command not found: hexo 的解决方法 这里我只介绍我的问题, 如果有相同问题的小伙伴继续往下看 问题场景 公司 Hexo 网站初次搭建完成, 并且本地源码针对我想要的主题做了一些修改和配置 所以下班回到家, 想继续配置我的网站 前面的步骤( npm git nvm)我在公司已经做好, 将源码同步到 github 上新建的一个分支 Blog, private 仓库 到家后, git clone xxx 同步到 Desktop 上面 , cd ~/Blog , 像网上说的那样 npm install并没有解决问题,出现 hexo not fou...
avatar
扬庆
一个程序猿的自我修养📚