几乎每个开发者都知道,让 App 快速响应的秘诀是把耗时的计算丢到后台线异步去做。于是,Modern Objective-C 开发者有两个选择:GCD和 NSOperation.
由于 GCD 已经发展的比较主流了,我们稍后再说它,先说说面向对象的 NSOperation.
NSOperation 表示一个单独的计算单元,它是一个抽象类(很类似 Java 里的 Runnable ...
刚写 iOS 程序的时候就知道 Xcode 支持第三方插件,比如ColorSense等很实用的插件,但 Xcode 的插件开发没有官方的文档支持,一直觉得很神秘,那今天就来揭开它的面纱。
在 Xcode 启动的时候,它会检查插件目录 (~/Library/Application Support/Developer/Shared/Xcode/Plug-ins) 下所有的插件 (扩展名为.xcp...
之前在用 Eclipse 写 Java 的时候,有几个常用的快捷键,比如删除当前行,在当前行下面插入空行,向上 / 下移动当前行等等,到了 Xcode 里怎么也找不到这些快捷键,一直觉得 Xcode 自带的快捷键不够强大,直到今天才知道不借助第三方的插件,在 Xcode 下完全也可以实现这些功能,下面就说一下如何来做。
首先找到 Xcode 中的自带的配置文件/Applications/Xc...
不卖关子,这是一个git repo ,可以从这里下载到 WWDC 2013 公开的 100 个视频的英文字幕。如果觉得有用的话,不妨 star 一下,或者在微博上@我满足一下我的虚荣心 :-),这都不重要,重要的是一定要坚持看完这 100 个视频。
我发起这个项目以及抓取到这些字幕的的原因是这样的,一个是英语的听力太差,基本上听不懂苹果的传道士们在视频中说的是什么,没有字幕真是很难受,然后是...
事情是这样的,前几天电脑崩溃,硬盘数据全部丢失,重装系统和 Xcode 之后,从 Develop Center 的 Certificates 里重新下载证书,安装到新电脑上,在真机上运行时,提示报错:” A valid signing identity matching this profile could not be found in your keychain”, 按照字面意思查了一下...
Version & Build 号
今天对 Xcode 里 iOS 的版本号又有了新的认识,一个叫做 Version,一个叫做 Build,这两个值都可以在 Xcode 中选中 target,点击 “Summary” 后看到。 Version 在 plist 文件中的 key 是 “CFBundleShortVersionString”,和 AppStore 上的版本号保持一致,Bu...
KVCKVC 是 Key-value coding 的缩写,是一种通过 key-value 的方式获取对象属性的机制。这个 key 是一个 String 的唯一标示符,这个 key 的 name 约定是必须是 ASCII 码、小写字母开头、中间不能有空格。
让一个类实现 KVO 的方式是遵循 NSKeyValueCoding 这个协议,该协议中定义了 2 个方法:valueForKey: a...
在 iOS 开发中,UINavigationController 是很常用的 Controller,对它的一般操作就像操作一个栈,push 和 pop。但也经常会遇到 pop 和 push 无法优雅的完成的操作,比如退回到中间的某个 VC 上,或者在第一个 VC 之前添加一个 VC 等,更甚者要重新构造整个 VC 的顺序,这时候 setViewControllers 方法就排上用场了,它使对...
最近项目要重构,首当其冲的就是代码结构,因为很多原因之前很少考虑代码结构的事情。终于要抽出一部分时间来重构这个项目,首先是整个项目的结构和代码逻辑不太符合 MVC,又顺便了解了一下 iOS 里的 MVC 模式的概念。首先 MVC 模式不光定义了每一部分在整个应用中扮演的角色,也定义了各个部分相互沟通交流的方式。每一部分都扮演着不同的角色,分工明确,降低耦合,减少依赖,使得每一部分都能够复用...
Jekyll 默认的社会化评论组件是 disqus,第三方 SNS 是 facebook,twitter 等,不方便大陆用户使用,发现国内也有类似的社会化评论组件,比如友言等,经比较发现友言更简单易用。
替换的整个过程很简单,分为两大步:首先要注册一个友言的账户,点击获取代码,就能获得一段和你用户相关的 js 代码。类似下面这样:
1234<!-- UY BEGIN --><...