分类
Swift

iOS 正确设置 status bar style 颜色

在开发 iOS App 时,很多应用都要根据当前 App 内容颜色来设置 iOS 系统状态栏 的配色,黑色或者白色——尤其是在 iOS 13 系统支持了黑色模式后。

通常,别人会告诉你这么做:

但这会触发警告:[crayon[……]

点击跳转以继续阅读

分类
Swift

Swift Debug EXC_BAD_ACCESS in AppDelegate

 

不少人在开发中都会遇到 EXC_BAD_ACCESS ,很遗憾,这一次 Xcode 不会给出任何详细的解决方案。

通常来说,这是由于内存错误造成的。简单来说就是你创建了对象 A,但在后来访问的时候,内存里 A 这块区域已经被系统挪做他用了,比如放了对象 B 在这里——你的[……]

点击跳转以继续阅读

分类
Swift

Swift 使用 strftime 快速格式化时间和日期

处理时间和日期是软件开发中很常见的操作,几乎所有的编程语言都提供了对应的 API 来方便开发者对时间日期进行处理,Swift 也不例外,比如 DateFormatter ,使用它你可以将任意 Date

点击跳转以继续阅读

分类
Swift

String.count vs NSString.length

通常来讲,Swift 里的 String  是和 NSString  桥接的,比如我曾写过 NSString 和 String 究竟 有什么区别 ?,总之这里我们主要来讨论一下,String[……]

点击跳转以继续阅读

分类
Swift

Swift 中如何使用字典类型作为范型约束

今天学员群里有人提了这么一个问题,为什么把特性的字典类型作为范型类型约束的时候,就必然报错?

显然,说的很明确了,“你不能从一个非协议、非类的类型继承”。显然,字典是个范型结构体……

那么解决思路也很明确了,创建一个[……]

点击跳转以继续阅读

分类
Swift

落格输入法 X 是如何处理屏幕边缘延迟问题的

问题

在开发落格输入法的过程中,我就一直被一个问题所困扰,那就是当用户点击在屏幕左侧边缘时, UIButton  的 touchDown  event 几乎变成了 [crayon-5[……]

点击跳转以继续阅读

分类
Swift

Timer 无法在拖动时更新 UI

在 iOS 开发中,我们经常会用到 Timer  这个类,用来进行一些重复或者延迟调用。

不过,在实际的使用中,如果你是用来周期地更新 UI,则会发现 Timer  的调用经常会[……]

点击跳转以继续阅读

分类
Mac OS Swift

Xcode 自动版本号

做开发者肯定有过这样的烦恼:版本号提交错了!

编译和测试的版本多了,难免提交的时候才发现版本号搞错了。要不就是后台版本号正确,前台的版本号忘记更改。其实,可以让前台自动获取后台的版本号数据,比如这样:

But

后台的版本号[……]

点击跳转以继续阅读

分类
Swift

一个自动排序的 Swift 栈

一年前,我在 git 上发布了一个用 Swift 实现的栈,一共有两个版本。因为 Swift 自身并没有实现这个东西——尽管官方的教程中泛型的部分就是用这个栈举的例子。

也许是人家觉得这个太简单了吧

总之,这次我又来玩这个东西了,因为 HMM 的 Viterbi 算法需要做修剪,不然路径太多无谓[……]

点击跳转以继续阅读