密码计算器是iPhone上的一款私密文件管理器,通过在计算器上输入密码来访问您的私人文件,可以完美地保护您的照片、视频、日记、联系人等私人隐私文件。
当前版本:1.0.1
更新时间:2015.05.06
UITableView是iOS开发中最常用也很实用并且最容易出现性能问题的的一个控件,本文列出了一些性能优化点,用于提高列表滚动的流畅性。
Objective C 的 Block
是一个很实用的语法,特别是与GCD结合使用,可以很方便地实现并发、异步任务。但是,如果使用不当,Block 也会引起一些循环引用问题(retain cycle
)—— Block 会 retain ‘self’,而 ‘self‘ 又 retain 了 Block。因为在 ObjC 中,直接调用一个实例变量,会被编译器处理成 ‘self->theVar’,’self’ 是一个 strong 类型的变量,引用计数会加 1,于是,self retains queue, queue retains block,block retains self。
随着iPhone 6 & Plus的发布,苹果也陆续更新了XCode和开发模拟器,目前最新的Xcode版本是6.1,内置的Simulator的iOS版本是8.1。也许你兴致冲冲迫不及待地一下子升级到了最新版的开发环境,那么可能会遇到一些键盘上的问题:无法弹出键盘,或者弹出键盘后会莫名其妙地崩溃。
当然,不能怪你,你的项目在iOS7.1上是运行地好好的。只能怪苹果没有推出一个完美无Bug的开发工具。
在iPhone Retina发布之前,还没有AutoLayout,因为屏幕只有一种尺寸。
当iPhone Retina发布之后,我没有用上AutoLayout,因为屏幕尺寸是用点来表示,布局写起来没什么不同。
当iPhone 5发布之后,屏幕尺寸终于加长了,但是由于有AutoSizing,所以我还是可以不用AutoLayout。
现在,iPhone 6和6 Plus发布了,屏幕又大了,我不得不开始考虑是否要使用AutoLayout。
在iOS开发中,经常需要在运行时动态修改View Frame,比如,theView的X坐标右移2个点,Y坐标下移2个点,常用的方法如下:
1 2 3 4 |
|
逻辑很简单,就是代码繁琐了点,设想一下,假如有5个以上的子View需要调整位置与大小……
苹果正式发布iOS8系统,到现在安装覆盖率已达48%,而iOS7的安装率是49%。所以,各位开发者又有得忙了,把所有的App都升级并适配到iOS8系统可不是一件轻松的事。
下面罗列一下我在适配iOS8过程中遇到的兼容问题——而同样的代码在iOS6/7是完全没问题的。