iOS开发栈 - 专注于分享iOS开发相关知识

关注公众号【iOS开发栈】及时免费获取更多iOS开发知识

0%

应用的启动过程是用户对一个应用的最初印象,并且是用户每天都要进行很多次的动作。所以应用的启动时长是非常最要的,我们iOS开发程序员对这个性能指标应该有足够的重视。

而在进行优化之前一项必须要做的工作就是监测应用时长具体的状况,那么这篇文章就学习一下怎么利用Instruments工具来检查应用的启动时长。

阅读全文 »

Objc的属性修饰符想必你已经非常熟悉了,对assignweakcopystrong等的用法早就烂熟于心。但是对它们的原理你了解多少呢,为什么同样一个数组使用了不同的修饰符后,它会有相差如此之大的行为呢?

本文就从汇编和Objc运行时源码的角度来对copystrong修饰的数组进行一个深入探讨,主要包括下面两个方面:

  1. strongcopy修饰符的作用效果
  2. 通过对.m文件进行汇编来查看copystrong修饰符的本质区别
  3. 从apple开源的运行时代码查看set方法的实现
阅读全文 »

有一些国外的书籍没有引入国内更没有翻译,甚至都找不到PDF版本,这些书籍中有一些提供了免费的在线版本,可以通过访问网站来阅读整本书。

但是通过网站阅读在线版本在体验上要差很多,关键是不能进行写写画画。这时候就到发挥技术人员的专长的时候了——把在线版本制作成电子书

阅读全文 »

Xcode在提供给开发者方便好用的自动国际化方案的同时也提供了手动管理多语言文件的方案,手动管理方案虽然使用步骤更多但是更好理解。

这篇文章主要包括下面几点方面:

  1. 怎么创建每个语言对应的文件夹和文件夹里面包含的文件
  2. genstrings工具的使用方法
  3. 使用ibtool更新xib、storyboard的多语言文件
阅读全文 »

这篇文章深入探究一个iOS开发过程中经常会看到的一个属性,这也是我自己在开发过程中碰到的一个用了我几个小时才解决的问题。

主要涉及到Opaque和Clears Graphics Context(clearsContextBeforeDrawing)两个View属性:

  1. opaque view和non-opaque view
  2. Clears Graphics Context是什么和它的作用
阅读全文 »