分类: 客户端开发知识

19 篇文章

thumbnail
Swift 属性
一: 存储属性 非 lazy 型的属性,必须在自己的 init 完成之前,完成初始化。 1、直接赋值: let attr: Int = 1 2、用自执行的 closure 赋值 // 当初始化工作有多个属性要设置的时候,用 closure 更合适 let attr: Int = { let x = 1 + 2 return x }() // 上边等…
绘图实战一:Core Graphics 的几个技巧
在 Apple 平台 (iOS/macOS) 上绘图,有三套方案: 1: Core Graphics,CG 开头的 API 2: Core Animation,CA 开头的 API 3: Metal (苹果已经不在更新 OpenGL ES) Core Graphics 如果是一些简单的图形绘制,一般考虑 Core Graphics,具体就是 dra…
机器学习(1):什么是机器学习
什么是机器学习? 什么是机器学习,目前并没有明确的学术定义,一般有两个比较认可的定义: 1: 人工智能领域的先驱 Arthur Samuel :一种在没有明确的编程下,使计算机具有学习的能力。 2:另一位计算机人工智能领域的科学家 Tom Mitchell 做出了更为学术的解释:机器学习程序,能够通过历史的经验(E),分析预测出特定任务(T)的未来…
借助 Clang/汇编/Mach-O 进行C基本内存分析
内存管理和进程管理是操作系统的两大核心功能,二者密不可分,进程管理,除了做好 CPU 的调度,剩下的主要就是如何分配和管理进程内存。现代的操作系统主要还是基于请求分页(段)与虚拟内存进行内存分配和回收;而不管哪个操作系统,对内存都有基本的划分,例如 Text 段,Stack、Heap 等。但不同的编程语言与编译器会对内存做更细的划分,比如对 C 语…
最简特性开关
作者:xiaobo 参考:https://martinfowler.com/articles/feature-toggles.html 什么是特性开关 定义:不改变代码,实现系统行为的修改。特性开关并不是什么新的技术,可能你已经使用过很多次了,例如 C 语言的预编译宏: 还比如,业务开发惯用的 A/B testing,其实都属于特性开关: 特性开关…
适配 iPad OS 吧,iPad 将会是最好的个人助理
作者:xiaobo 对于 iPad,广为流传的一句广告词恐怕是 “买前生产力,买后爱奇艺”。我自己也使用了一段时间的 iPad,在我手里它并不是“爱奇艺”,而是变身为一台“优雅的学习利器”。由于它还不能用来写代码,所以对我来说还不具备多少生产力。 近期 iPad OS 的更新,让科技圈一阵 "骚乱",纷纷表示,iPad 将取代部分轻量级 Windo…
iOS 响应者链与事件处理
作者:xiaobo 当我们讨论 “iOS 事件处理与响应者链” 的时候,其实我们想要了解的是:触摸事件是如何被正确的视图识别并且被正确的处理。当然我们都知道,iOS 设备上事件有三种(为了便于说明问题,全文都使用触摸事件来举例): 1: 触摸事件 2: 摇一摇 3: 远程控制事件 从软件层面开始,当手指触摸到屏幕后,触摸事件会被 SpringBoa…
iOS13 适配暗黑模式
作者:xiaobo 暗黑模式是 iOS 13 带来的一种 UI 特性,对开发者而言,适配之前需要准备好以下开发环境: Xcode 11 一部装有 iOS 13 的 iPhone 或 iPad 设备,方便真机调试。 如果你的 App 暂时还不想适配,或者不适合在暗黑模式的 UI 策略。可以暂时通过在工程的 info.plist 中添加UIUserIn…
集成 Flutter 到已经存在的 iOS 工程中
作者:xiaobo 一个纯 Flutter 项目的工程结构 在开始学习 Flutter 之前,我们往往需要一个 Flutter 工程,用下面的命令,可以快速的创建出一个 Flutter 工程: $ flutter create --template module my_flutter 如果一切顺利,就会看到如下的目录结构(部分) my_flutte…