• Mac,idfa,idfv,imei匹配正则表达式

    name type regular expression
    IMEI string ^[0-9]{15}(,[0-9]{15})*$
    MAC string ^([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2})$
    IDFA string ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$
    IDFV string ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$
  • Combine中Schdulers深度探索

    本文主要探讨如何利用Combine中Schedulers对任务执行进行管理。假定读者已经了解Combine的基本原理,想要进一步对Combine中任务调度进行详细了解。由于Schedulers与GCD(Grand Dispatch Queue),线程(thread),RunLoop都有关联,所以也需要读者有这方面的基础了解才能更好的读懂下文。

  • Combine中重要函数flatMap

    flatMap是Combine中很重要的一个操作符,本文将介绍flatMap的作用,Result类型中的flatMap如何使用,Publisher中flatMap有什么使用的注意问题。

  • @Published Property Wrapper

    @Published 适合于ObserabledObject配合使用,在存储属性上添加@Published,将会使得有值变化时,自动发出publisher

  • Swiftui数据流之state&binding

    在SwiftUI中,以单一数据源(single source of truth)为核心,构建了数据驱动状态更新的机制。其中引入了多种新的属性包装器(property wrapper),用来进行状态管理。本篇主要介绍@State和@Binding,将从简单的使用入手,通过一系列具体的代码实例展示它们的使用场景,并进步一探索State的内部实现

  • 由一个实际问题引出的Swift与ObjC交互性讨论

    本篇文章由一个项目中的实际问题引出,TableView是常用的基础控件,我们经常在一个基类中实现Tableview的基础代理方法,然后再根据业务需求情况,设计不同的子类继承基类,重写部分代理方法,简化业务实现。我们要探讨的问题就在继承中出现。。。。

  • Swift Intermediate Language 初探

    通常,当我们学习一门高级编程语言时,更多专注于它的语法特性,关键字如何使用,是否是面向对象编程,很少关注其背后的编译器是如何处理高级语言,把它转换成低级语言,甚至是机器语言的过程。但是当你遇到一些无法理解的表面现象,没有办法通过文档或者前人经验解读问题的实质,想要尝试探究编程语言背后的实现细节,那么就需要跨越语言本身的了解,向下去专研编译器的实现细节;但是编译器的构成和实现细节往往十分复杂和繁杂,令人生畏,阻碍了人们的学习热情。

  • Realm数据库schema迁移

    本篇介绍使用Realm过程中最重要的一个环节——数据迁移

subscribe via RSS

本站访问量