O’s World

努力!奋斗!

在 ZSH 中调用 Sublime Text

| 评论

为Sublime Text 创建 symbolic link

Terminal 不认识 Sublime Text,所以首先创建 symbolic link.

1
ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/sublime

在 .zshrc 文件里面使用 sublime

创建完 symbolic link 后就可以在 .zshrc 里面调用 Sublime Text 了!

1
2
3
4
alias zshconfig="sublime ~/.zshrc"
alias ohmyzsh="sublime ~/.oh-my-zsh"

alias -s markdown=sublime

iOS 7 交互式过渡

| 评论

本文转载自:NONOMORI

iOS 7 新加入了一个介于 ViewController 之间的过渡的实现方法。本文将介绍如何利用自定义的过渡实现如图所示效果。

在这个例子中,我们将在两个 ViewConrtoller 的转换过程中加入一个自定义的过渡。DSLFirstViewController 是我们的第一个 viewController,其包含一个 CollectionView,每一个 Cell 都包含一张图片和一个标签。DSLSecondViewController 是我们的第二个 viewController,其上有一张图和一个标签。我们希望,当用户点击 DSLFirstViewController 的 Cell 后能平滑过渡到 DSLSecondViewController 中去。

这个例子源代码已发布在 GitHub

谈 Objective-C Block 的实现

| 评论

本文转载自:唐巧的技术博客

前言

这里有关于 block 的5道测试题,建议你阅读本文之前先做一下测试。

先介绍一下什么是闭包。在 Wikipedia 上,闭包的定义)是:

In programming languages, a closure is a function or reference to a function together with a referencing environment—a table storing a reference to each of the non-local variables (also called free variables or upvalues) of that function.

翻译过来就是:

闭包是一个函数(或指向函数的指针),再加上该函数执行的外部的上下文变量(有时候也称作自由变量)。

block 实际上就是 Objective-C 语言对于闭包的实现。 block 配合上 dispatch_queue,可以方便地实现简单的多线程编程和异步编程,关于这个,我之前写过一篇文章介绍:《使用GCD》

本文主要介绍 Objective-C 语言的 block 在编译器中的实现方式。主要包括:

  1. block 的内部实现数据结构介绍
  2. block 的三种类型及其相关的内存管理方式
  3. block 如何通过 capture 变量来达到访问函数外的变量

使用 GCD

| 评论

本文转载自:唐巧的技术博客

什么是GCD

Grand Central Dispatch (GCD)是 Apple 开发的一个多核编程的解决方法。该方法在 Mac OS X 10.6 雪豹中首次推出,并随后被引入到了 iOS4.0 中。GCD 是一个替代诸如 NSThread, NSOperationQueue, NSInvocationOperation 等技术的很高效和强大的技术,它看起来象就其它语言的闭包(Closure)一样,但苹果把它叫做 blocks。

玩转字符串

| 评论

在每个应用里我们都大量使用字符串。下面我们将快速看看一些常见的操作字符串的方法,过一遍常见操作的最佳实践。