存档

作者存档

深度优先搜索算法的通用解法

2014年3月3日 没有评论

一、深度优先搜索

深度优先搜索算法(Depth First Search),是图论中的经典算法。
深度优先搜索算法是沿着树的深度遍历树的节点,尽可能深的搜索树的分支。当结点所有子结点那一层都被搜索过,再回溯返回到当前结点的邻结点,继续搜索,直到遍历完整棵树。一般采用的是前序遍历,先根然后再左右结点的方式进行。 阅读全文…

一些Cocoa控件的例子

2014年2月22日 没有评论

之前写了一些Cocoa控件的例子,现把代码放到git上。最近比较忙,有空再继续码
今天是2月22号,一个特别的日子。

1、三态button按钮

常态Image鼠标hover态Image鼠标press态Image
阅读全文…

分类: 白话Cocoa 标签:

浏览器开发第二篇,javascript与objective c的交互

2014年2月20日 没有评论

现在很多视频或者音乐的客户端,比如QQMusic For Mac。往往通过在客户端嵌入网页的方式来展现内容,并通过js调用客户端的一些功能,比如下载该视频或者播放音乐等。嵌入网页基本都是采用网页控件来展示网页。这时可以把客户端看成是包含了一个小型浏览器的客户端。用嵌入网页的方式,好处是显然的,一是网页可以轻易做出很炫丽的效果,当然客户端通过艰难的自绘也可以做出很华丽的效果,但开发时间跟开发难度跟网页比起来没得比。二是,网页可以随时更改,更改后可以实时更新到你发出去的每一个客户端版本,这一种扩展性在实战中是很重要的。以前参与过一个播放量超过3000万的视频客户端项目,一开始30%的区域用客户端来显示,而客户端的代码都是打包到每一个版本的,一开始项目会考虑一些兼容性问题,但实际上很难在第一版本全部都考虑到,导致新的的版本的一些更改无法更新到旧的版本。为了让扩展性更好,该项目演变到后面,改成只有10%区域采用客户端,其它区域全部用嵌入网页的方式,包括视频播放页,也是在一个窗口里面嵌入一个页面,该页面包含一个占满窗口内容并自适应窗口大小的flash。
阅读全文…

分类: 白话Cocoa 标签: ,

浏览器开发第一篇,NSWebView的基本介绍与使用

2014年2月20日 没有评论

WebKit是开源的Web浏览器引擎,苹果的Safari是基于这个框架来开发的。

下面用一个demo来说明一下主要的api接口,demo如下图所示。该demo已经包含了基本的功能,前进,后退,刷新,回车访问url,点击Go按钮访问url,在标题栏显示网站的title等

0b054a222f57a8227815c392dd682903

阅读全文…

分类: 白话Cocoa 标签: ,

本地化你的应用程序

2014年2月18日 没有评论

之前的项目考虑要做一个扩展预留,也就是既支持中文,以后可能支持英文。所以需要对本地化有一定了解,于是我做了一个demo,该demo同时支持中文跟英文。

在中文系统下界面是这样:

a173a19a817dda2f6e6d3e038c994b00

在英文系统下界面是这样:

163966a0cd9231dcc38f9e9407e3e855

 

阅读全文…

分类: 白话Cocoa 标签: ,

关于App Nap、Automatic Termination、Sudden Termination

2014年2月17日 没有评论

App Nap

2013年苹果发布的最新13英寸MacBook Pro Retina,可以说是目前最接近完美的Pro了,再加上免费的10.9操作系统,体验一如既往地好。
电池的续航能力对于笔记本电脑的便携性来说至关重要,今天苹果笔记本续航能力有了很大的提升。硬件方面得益于英特尔Haswell处理器,软件方面是得益于10.9操作系统采用了一种更加省电的技术,叫app nap。
阅读全文…

分类: 白话Cocoa 标签: ,

阻止OSX系统睡眠

2014年2月17日 没有评论
1、在OSX开发中,我们的程序怎么样获取系统睡眠或者唤醒的通知,并对程序做出一定的处理?
可以通过cocoa的API来获取,如下所示:
- (void) receiveSleepNote: (NSNotification*) note
{
    NSLog(@"receiveSleepNote: %@", [note name]);
}

- (void) receiveWakeNote: (NSNotification*) note
{
    NSLog(@"receiveWakeNote: %@", [note name]);
}
  阅读全文...
分类: 白话Cocoa 标签:

通过自定义视图绘制dock icon

2014年2月17日 没有评论

通过自定义视图绘制dock icon的例子:自定义dock icon图标,实时展示当前时间,同时右上角徽标展示随机的数字

ca0d150506fb8c4df548054f2ffae6d4 阅读全文…

分类: 白话Cocoa 标签: ,