Sqlite3 单表级联删除数据

最近在写一个网络相关的 iOS 库, 遇到一个需要级联删除数据的地方, 本来想用外键约束的级联删除来解决
后来发现, 在外键约束时 插入数据是有条件限制的, 在某些情况下插入数据会失败, 不过蛋疼之余还是给我想到解决方案了, 嘻嘻

Read More

iOS Storyboard 和 UIColor 创建出来的颜色显示效果不同

路漫漫其修远兮,吾将上下而求索。
真是绝了,这个问题从我开始搞 iOS 开发时就一直困扰这我了,虽然那时候我也尝试这找解决方案,但是一直都没能找到怎么解决,只是大概知道是配色文件到诊的,但是要如果更改正确却无从下手了。
现在看来,我找不到解决方案也是理所应当的了,至于原因接着往下看。(提示:我搞 iOS 开发那会还是 iOS8 时代)。

Read More

如何计算算法的空间复杂度

类似于时间复杂度的讨论,一个算法的空间复杂度 (Space Complexity)S(n) 定义为该算法所耗费的存储空间,它也是问题规模 n 的函数。渐近空间复杂度也常常简称为空间复杂度。

Read More

如何计算算法的时间复杂度

算法的时间复杂度定义为:

在进行算法分析时,语句总的执行次数 T(n) 是关于问题规模 n 的函数,进而分析 T(n) 随 n 的变化情况并确定 T(n) 的数量级。算法的时间复杂度,也就是算法的时间量度,记作:T(n}=0(f(n))。它表示随问题规模 n 的增大,算法执行时间的埔长率和 f(n) 的埔长率相同,称作算法的渐近时间复杂度,简称为时间复杂度。其中 f( n) 是问题规横 n 的某个函数。

Read More

A dumb UI is a good UI: Using MVP in iOS with swift

前几天面试了一家公司, 问了我一些关于 iOS 开发中的概念性问题, 比如通知和代理的区别, MVVM, MVP, MVC 这些设计模式分别是如何实现的, 虽然平常开发中经常听到这些概念, 但是完全没有刻意去记下它们之间的区别和实现.
主要是我个人认为任何设计模式都是和不能独立于业务逻辑而存在的, 适合什么用什么并不需要刻意去记下这些东西, 需要用到的时候查下资料就好了.
那么话说回来为什么要写这篇博文呢?
自问自答一下吧: 我想证明一个道理, 只要你不是一个咸鱼程序员任何概念性的问题, 只需要一小时就可以搞明白

Read More

打包 Qt 应用时关于动态链接库的一些注意事项

在软件发布的时候经常会遇到, 动态链接库找不到的问题, 而且这种问题处理起来还非常麻烦, 因为在本机是开发环境的原因问题经常无法暴露出来, 所以这就坑了, 线面来说说如何避免这种问题的出现.

Read More

Fix Qt launching debugger not work

记一次手贱导致 Qt debugger 无法工作的经历
事情是这样的, 因为电脑磁盘空间不够了, 于是我像往常一样打开 DaisyDisk 查看有哪些文件比较占空间, 于是乎故事就开始了.
我看到了 /Library/Python/2.7/site-packages 这个目录发现这是系统的 python 包路径, 因为我用的是 brew 安装的最新版 python , 就想当然的认为这个是没有用的了, 于是乎就删之, 删除之后我并没有发现有什么异样, 因为并不是需要经常用 Qt debugger 的, 于是乎某一天开启debug, 发现gg了, 起初还以为是系统更新的问题, 然后把 Qt, Xcode 都更新了一遍, 发现还是不行, google 到的信息, 也没能解决我的问题, 一直蛋疼了很久, 突然想起可以去看下 debug log, 或许能知道是什么原因, 打开 log 一看果然有问题, 知道问题了自然就好解决了, 下面就来说说我怎么解决的吧.

Read More