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