苹果君的博客

Happy Coding, Happy Living


  • 首页

  • 分类

  • 归档

  • 关于

  • 标签

NSTimer 使用进阶

发表于 2016-05-14

NSTimer 是 iOS 上的一种计时器,通过 NSTimer 对象,可以指定时间间隔,向一个对象发送消息。NSTimer 是比较常用的工具,比如用来定时更新界面,定时发送请求等等。但是在使用过程中,有很多需要注意的地方,稍微不注意就会产生 bug,crash,内存泄漏。本文讲解了使用 NSTimer 时需要注意的问题。

阅读全文 »

解析 crash 堆栈

发表于 2016-04-09   |   分类于 iOS

本文介绍了如何解析 iOS 的 crash 堆栈,分别使用了 symbolicatecrash 来自动解析整个堆栈,以及使用 atos 来解析单个地址的符号。
在 iOS 开发中,解决 crash 问题是比较常见的工作。其中能够解析出符号当然是定位问题的开始。
实际工作中,也有看到很多人其实会卡在解析符号这里,遇到这种情况,可以按照本文中的做法解决。

阅读全文 »

Code Review CheckList 1

发表于 2016-04-09   |   分类于 Code Review CheckList

本文记录了一些 Objective-C 上的一些最佳实践,作用是每个人都可以通过本文描述的规则,对其它团队成员进行 Code Review。

另外,每个规则后面,会有一个规则代号,用中括号括起来,发现代码不符合某一条规则的时候,可以直接使用代号取代问题描述。比如看到某些代码不符合下面的第一条规则,可以在所在的代码行增加评论:[Be Modern]。

阅读全文 »

Swift Highlight 3 :容器是结构体

发表于 2016-04-06   |   分类于 Swift Highlight

Swift’s String, Array, and Dictionary types are implemented as structures. This means that strings, arrays, and dictionaries are copied when they are assigned to a new constant or variable, or when they are passed to a function or method.

Swift 的 String, Array, 和 Dictionary 类型是用结构体实现的,而结构体是一种值类型,在赋值,参数传递过程中,会使用直接拷贝内存的方式。所以,这些字符串,数组,字典等对象在这些操作里面,将会被拷贝,跟原来的对象互不影响。

阅读全文 »

Swift Highlight 2 :范型

发表于 2016-04-05   |   分类于 Swift Highlight

Swift 相比 Objective-C 的一项改进就是引进了范型(Generic Type),有了范型,我们可以通过指定容器中对象的类型,让编译器可以做更多的类型检查。

阅读全文 »

Swift Highlight 1 :结构体的变量可以直接更改

发表于 2016-04-04   |   分类于 Swift Highlight

Unlike Objective-C, Swift enables you to set sub-properties of a structure property directly.

跟 Objective-C 不一样,Swift 中的一个属性是结构体的话,这个结构体的变量是可以被直接改变的。

阅读全文 »

iOS8 转屏 Bug 汇总

发表于 2014-10-19   |   分类于 iOS

iOS8 对页面的旋转机制做了一些改变,这些改动也带来了不少问题。
本文介绍三个已经发现的问题,并尝试给出解决方案。

阅读全文 »

iOS8 导航控制器横屏页面弹出竖屏页面的实现

发表于 2014-10-19   |   分类于 iOS

我们都知道,同一个导航控制器中,我们可以做到两个不同的页面有不同的方向。
例如一个页面支持竖屏,我们 push 一个新的页面,支持横屏。
本文介绍了这种情况下,iOS 8 做 pop 动画的实现。

阅读全文 »

NSHashTable 引起的性能问题

发表于 2014-08-10   |   分类于 iOS

本文介绍了在 Core Text 排版中,往 NSAttributeString 增加一个属性时引起的性能问题。

阅读全文 »

iOS 增量更新机制介绍

发表于 2014-08-09   |   分类于 iOS

从 iOS6 开始,iOS 引入了增量更新(delta update),App Store 对应用的新版本更新的提交,会自动生成增量更新包。
用户在更新应用的新版本的时候,只会下载差异部分,这样就加快了下载速度,也同时提升了安装速度。
本文介绍了 iOS 的增量更新机制,以及优化应用安装包大小时应注意的问题。

阅读全文 »
12
Wison Lin

Wison Lin

Happy Coding, Happy Living

14 日志
3 分类
6 标签
© 2016 Wison Lin
由 Hexo 强力驱动
主题 - NexT.Mist