CAFilter

CAFilter是一个私有类,可以通过设置layer.filters实现实时滤镜效果,不过私有类API有被拒风险。

Interesting-Introdution

当我们绞尽脑汁想摆脱他人和社会对自己的束缚,找到所谓的“你自己”时,总会失败。即便在私底下写日记,也必然会有一个预设读者。用语言来描述“真正的自己”行不通的原因,也是因为语言本身就是公共性的道具,用语言来描述自己的时候,必然会改变部分自己,让自己服从于语言的规则。人类的本质是复读机,因为绝对的个性原创,就不会使用语言和知识和认识来描述世界。但如果接受“自我里必然有他人存在“这个设定,事情就会简单得多。 —— 转自好奇心日报

DNS

域名系统(英语:DomainNameSystem,缩写:DNS)是互联网的一项服务。它作为将 域名IP地址 相互映射的一个 分布式数据库,能够使人更方便地访问 互联网。

DarkMode

  • 判断当前模式UITraitCollection.current.userInterfaceStyle
  • Assets.xcassets中为图片和颜色设置Appearance属性在Any或Dark或Light模式下的状态,另外也可系统提供的system开头颜色
  • 模糊视图通过systemMaterial样式的UIBlurEffect初始化
  • 遵循UITraitEnvironment协议监听模式切换
  • 使用overrideUserInterfaceStyle指定当前控制器始终处于某种模式
  • 浅色系APP比较适合适配暗黑模式,若不适配需要在Plist注明User Interface Style字段为Light

Regex-Meta-Character

  • []表示单个字符的原子表
1
2
3
4
5
[aoeiu] 表示任意一个元音字母
[0-9] 表示任意一位数字等价于 \d
[0-9][0-9] 00~99
[a-z][0-9]表示小写字和一位数字构成的两位字符
[a-zA-Z0-9_] 表示任意一位大小字母或数字 \w
  • [^]表示除中括号内原子之外的任何字符 是[]的取反
1
2
[^0-9] 表示任意一位非数字字符 等价于 \D
[^a-z] 表示任意一位非小写字母
  • {m}表示对前面原子的数量控制,表示是m次
1
2
[0-9]{4} 表示4位数字0000-9999 等价于\d{4}
[1][3-8][0-9]{9} 手机号码
  • {m,}表示对前面原子的数量控制,表示是至少m次
1
[0-9]{2,} 表示两位及以上的数字 等价于\d{2,}
  • {m,n}表示对前面原子的数量控制,表示是m到n次
1
[a-z]{6,8} 表示6到8位的小写字母
  • *表示对前面原子的数量控制,表示是任意次,等价于{0,}
  • +表示对前面原子的数量控制,表示至少1次,等价于{1,}
  • ?表示对前面原子的数量控制,表示0次或1次(可有可无) 等价于{0,1}
  • ()表示一个整体原子,还有一个子存储单元的作用 e.g. (red) 表示字串red
  • |表示或的意思 (red|blue) 字串red或blue
  • ^用在正则单元块的开头处,表示必须以指定的开头
  • $用在正则单元块的结尾处,表示必须以指定的结尾
  • .表示任意一个除换行符之外的字符 常用组合: .*?.+? 表示最小匹配所有字符