NSAttributeString

2014年2月17日 没有评论

一个操作NSAttributeString的例子,并把NSAttributeString绘制到视图上。

6126f502c39d78ebee1eb585d522cc63 阅读全文…

自绘带圆角的进度条的例子,并且可以改变颜色

2014年2月16日 没有评论

GCD介绍(四): 完结

2013年12月21日 没有评论

Dispatch Queue挂起
dispatch queue可以被挂起和恢复。使用 dispatch_suspend函数来挂起,使用 dispatch_resume 函数来恢复。这两个函数的行为是如你所愿的。另外,这两个还是也可以用于dispatch source。
一个要注意的地方是,dispatch queue的挂起是block粒度的。换句话说,挂起一个queue并不会将当前正在执行的block挂起。它会允许当前执行的block执行完毕,然后后续的block不再会被执行,直至queue被恢复。
还有一个注意点:从man页上得来的:如果你挂起了一个queue或者source,那么销毁它之前,必须先对其进行恢复。 阅读全文…

分类: 白话Cocoa 标签:

GCD介绍(三): Dispatch Sources

2013年12月21日 没有评论

何为Dispatch Sources
简单来说,dispatch source是一个监视某些类型事件的对象。当这些事件发生时,它自动将一个block放入一个dispatch queue的执行例程中。
说的貌似有点不清不楚。我们到底讨论哪些事件类型? 阅读全文…

分类: 白话Cocoa 标签:

GCD介绍(二): 多核心的性能

2013年12月21日 没有评论

概念
为了在单一进程中充分发挥多核的优势,我们有必要使用多线程技术(我们没必要去提多进程,这玩意儿和GCD没关系)。在低层,GCD全局dispatch queue仅仅是工作线程池的抽象。这些队列中的Block一旦可用,就会被dispatch到工作线程中。提交至用户队列的Block最终也会通过全局队列进入相同的工作线程池(除非你的用户队列的目标是主线程,但是为了提高运行速度,我们绝不会这么干)。
有两种途径来通过GCD“榨取”多核心系统的性能:将单一任务或者一组相关任务并发至全局队列中运算;将多个不相关的任务或者关联不紧密的任务并发至用户队列中运算; 阅读全文…

分类: 白话Cocoa 标签:

GCD介绍(一): 基本概念和Dispatch Queue

2013年12月21日 没有评论

什么是GCD?
Grand Central Dispatch或者GCD,是一套低层API,提供了一种新的方法来进行并发程序编写。从基本功能上讲,GCD有点像NSOperationQueue,他们都允许程序将任务切分为多个单一任务然后提交至工作队列来并发地或者串行地执行。GCD比之NSOpertionQueue更底层更高效,并且它不是Cocoa框架的一部分。
除了代码的平行执行能力,GCD还提供高度集成的事件控制系统。可以设置句柄来响应文件描述符、mach ports(Mach port 用于 OS X上的进程间通讯)、进程、计时器、信号、用户生成事件。这些句柄通过GCD来并发执行。
GCD的API很大程度上基于block,当然,GCD也可以脱离block来使用,比如使用传统c机制提供函数指针和上下文指针。实践证明,当配合block使用时,GCD非常简单易用且能发挥其最大能力。
你可以在Mac上敲命令“man dispatch”来获取GCD的文档。 阅读全文…

分类: 白话Cocoa 标签:

冷艳的logo

2013年11月23日 没有评论

蓝绿色的海洋背景下,mac xunlei的logo华丽中似乎带着些许冷艳。

匠心独运的设计不仅可以带来画面感,同时也可以引领美好的想象空间。顶一下设计组的涛哥! 阅读全文…

分类: Mac 标签:

终于迎来双休

2013年11月22日 没有评论

公司一直实现大周双休小周单休的工作制,为了改善现有的出勤制度,提升员工满意度,宣布这周起实行双休。

回顾这些年在公司的工作,周一到周五几乎每天至少在公司拼搏近12个小时。并且小周周六需要工作整整一天,这样算来每个月投入到工作中的时间很多。非常幸运手上从事的都是重要项目的开发,并且自己一开始就设立了目标,对自己硬性的要求,所以从来没有一天偷闲过。说实在地,我还蛮喜欢这样的工作,因为充实并且有挑战性。投入的时间跟精力最终都有了产出,在这一年多以来完成了几个比较大的项目,同时,技术进步也很快。 阅读全文…

分类: Other 标签: