程序员应该避免写注释 “程序员工作效率有多高,取决于他大脑中对当前项目的熟悉程度,即变量名称、数据结构、编程接口以及工具类甚至是目录等,这些细节记住的越多,效率也越高。” 注释不是用来翻译程序代码的,用代码能说清楚的东西,就不要再用自然语言费脑子去写了,集中精力写出最优雅、质量高的代码才是首要的。这并不是说可以完全不写注释,而是说不要为了添加不必要的注释而打乱你的思路。我很赞成这两篇文章... 2014-07-313 min read
如何避免在Block里用self造成循环引用 一般来说我们总会在设置Block之后,在合适的时间回调Block,而不希望回调Block的时候Block已经被释放了,所以我们需要对Block进行copy,copy到堆中,以便后用。 当一个Block被Copy的时候,如果你在Block里进行了一些调用,那么将会有一个强引用指向这些调用方法的调用者,有两个规则:   如果你是通过引用来访问一个实例变量,那么将强引用至sel... 2014-07-291 min read
iOS 实现脉冲雷达以及动态增减元素 By Swift 开始之前 <div>Swift经过Xcode6 Beta4一版更新后,基本上已经可以作为生产工具了,虽然有一些地方和ObjC比起来要“落后”一些,但也无伤大雅。这里就用Xcode6 Beta4+iOS SDK 8.0开发,如果用ObjC的话,只需把某些语法和调用方式替换一下就可以了。</div><div>最终效果:</div><div&g... 2014-07-2827 min read
CSDN博客导出工具 Mac By Swift 写这个的目的主要是用于了解Swift语言本身,以及如何与Objc和第三方框架交互 需要先使用CSDN账号来登录,可以导出所有的博客文章,添加YAML头信息的时候,会在头信息里面包含文章对应的标签和分类,以及对应的文章类型(原创、转载、翻译)   开发环境 OS X 10.10,Xcode6 Beta4,由于Beta4较之前版本对Swift更新较大,之前版本编译出报错... 2014-07-231 min read
利用Jekyll在GitHub Pages上部署博客 开始之前 我觉得阮一峰的《搭建一个免费的,无限流量的Blog----github Pages和Jekyll入门》是一个很经典的入门,每个Jekyll初学者都应该先去看一看,另外GitHub Pages官网以及Jekyllcn也是遇到问题时首先要查找的站点。 需要对Git的基本操作有些了解: Git基本操作   ##设置全局用户名和email,作为每次提交的记录 git ... 2014-07-188 min read
CSDN博客导出工具 mac 需要先使用CSDN账号登录,可以导出所有的博客文章,添加YAML头信息的时候,会在头信息里面包含文章对应的标签和分类以及原创的标签 自己写的mac版,以后可能会改成js版: GitHub地址 2014-07-141 min read
iOS 全局修改UINavigation 后退按钮 快两年没有更新blog了,现在有点时间随便写点东西吧。 做iOS项目中,可能会经常遇到要定制后退按钮的情况,比如把后退按钮的title固定为“返回”(修改title对后面push的vc生效),比如用图片,这时候大家一般会选择添加一个vc的基类,因为这个问题其实很简单,随便做点什么都能解决,今天我用另一种优雅的方法来解决这个问题。 默认iOS7的后退按钮是一个箭... 2014-03-285 min read
NSAttributedString 详解 NSAttributedString可以让我们使一个字符串显示的多样化,但是目前到iOS 5为止,好像对它支持的不是很好,因为显示起来不太方便(至少没有在OS X上方便)。 首先导入CoreText.framework,并在需要使用的文件中导入: #import<CoreText/CoreText.h> 创建一个NSMutableAttributedString: &nb... 2012-05-3010 min read
精通UIPasteboard 粘贴板 有时候我们可能需要复制UILabel上的文本,或者UIImageView的图片,而UILabel和UIImageView默认是不响应Touch事件的,也无法复制,那么我们就需要自己实现一个可复制的UILabel。新添加一个类继承自UILabel:   @interface UICopyLabel : UILabel @end #import "UICopyLabel.h... 2012-05-187 min read
定制UINavigationBar 在开发中经常需要定制某些界面,navigationController的navigationBar就是一个很典型的例子,比如要修改背景图、后退按钮等等。 背景图的修改很简单,但是需要了解iOS的框架,假设我给自己定制的UINavigationController增加一个接口用于修改背景图:   @property (nonatomic, retain) UIImage *b... 2012-05-154 min read