深入理解 iOS 开发中的锁详解

摘要 本文的目的不是介绍 iOS 中各种锁如何使用,一方面笔者没有大量的实战经验,另一方面这样的文章相当多,比如 iOS中保证线程安全的几种方式与性能对比、iOS 常见知识点(三):Lock。本文也不会详细介绍锁的具体实现原理,...

iOS 10 SiriKit QQ 适配详解

1. 概述 苹果在 iOS 10 开放了 SiriKit 接口给第三方应用。目前,QQ 已经率先适配了 Siri 的发消息和打电话功能。这意味着在 iOS 10 中你可以直接告诉 Siri 让它帮你发 QQ 消息和打 QQ 电话了,听起来...

iOS端数据库解决方案分析详解

很早之前就想写一篇iOS端数据库相关的总结文章,梳理下使用移动端数据库的一些重要知识点,再综合对比下sqlite和CoreData的优缺点,希望能帮助一些这方面经历较少的同学少走一些弯路。 为什么要用数据库 iOS端持久化的方案选择比较...

iOS多线程到底不安全在哪里?详解

iOS多线程安全的概念在很多地方都会遇到,为什么不安全,不安全又该怎么去定义,其实是个值得深究的话题。 共享状态,多线程共同访问某个对象的property,在iOS编程里是很普遍的使用场景,我们就从Property的多线程安全说起。 P...

iOS编译过程的原理和应用详解

前言 一般可以将编程语言分为两种,编译语言和直译式语言。 像C++,Objective C都是编译语言。编译语言在执行的时候,必须先通过编译器生成机器码,机器码可以直接在CPU上执行,所以执行效率较高。 像JavaScript,Pyt...

优化 iOS 程序性能的 25 个方法详解

1. 用ARC管理内存 ARC(Automatic ReferenceCounting, 自动引用计数)和iOS5一起发布,它避免了最常见的也就是经常是由于我们忘记释放内存所造成的内存泄露。它自动为你管理retain和release的过程...

iOS 编程中 throttle 的那些事详解

不知道大家对throttle这个单词是否看着眼熟,还是说对这个计算机基础概念有很清晰的了解了。今天就来聊聊和throttle相关的一些技术场景。 定义 我经常有一种感觉,对于英语这门语言的语感,会影响我们对于一些关键技术概念的理解。有时...

如何将 iOS 项目的编译速度提高 5 倍详解

前言 贝聊目前开发的两款App分别是贝聊家长版和贝聊老师版,最近因为在快速迭代开发新功能,项目规模急速增长,单个端业务代码约23万行,私有库约6万行,第三方库代码约15万行,单个客户端的代码行数约60万。现在打包一次耗时需要11~12分钟...

关于 iOS 上的 PWA 应用,你需要知道些什么?详解

原文:Progressive Web Apps on iOS are here 作者:Maximiliano Firtman 在 iOS 11.3 版本中,苹果公司悄悄地增加了基于“渐进增强 Web 应用...