Mac OS程序开发 从入门到崩溃

【转】

关于网上 cocoa 相关的deom的网址:

1.国内的http://www.cocoachina.com/bbs/thread.PHP?fid-2.html上面会有一些,当然需要自己去找;

2.国外的有一个网站https://www.cocoacontrols.com/controls上面也会有一些,我一开始一般都会在上面找,因为上面的相关deom还是不少的,我都会把我自己觉得好的deom下载下来,然后自己研究、借鉴一下!当然了上面有些deom是不能运行的,可能由于版本或者别的原因导致,有些项目自己按照里面的操作重写下就可以运行了;

3.最有名的一个那就是https://github.com相信很多人都用过,怎么搜索的话就需要自己去找了!

当然啦,还有一些论坛,文章也有相关的介绍是非常不错的,大家都可以去看看,受益匪浅:

1.https://www.mgenware.com/blog/?cat=5是刘圆圆写的,目前在随手记做iOS工程师

2.http://www.tanhao.me/tags/Mac/是一位老谭写的笔记

3.http://d3caifu.com/ebook/是对Mac开发基础教程的介绍,当然了只有部分章节,不过还是非常不错的入门篇

当然啦,也有其它非常不错的博客,只是觉得上面关于cocoa开发太少就没有拿出来。基础教程的话我给大家推荐一本 苹果开发之Cocoa编程原书第4版  这是链接地址:http://download.csdn.NET/detail/u012890071/9452827写的还行,不过不是特别的全面,更多的还需要自己去研究,当然还有其它基本书,但是使用价值并不怎么样,有时间的话可以自己搜搜看!

上面介绍的都是一些预习准备工作,接下来我会讲述一些关于mac app开发需要注意的一些事项,一般从iOS转行做cocoa都需要注意的一些东西:

cocoa 开发常用的控制器为NSWindowController,而不是iOS里面的ViewController,因为mac app大多数为多窗口,而iphone app上只有一个主窗口,更多数的情况下我们是在ViewController做操作,显示各个不同的页面,而且UI控件大部分以UI开头,而cocoa开发刚好相反,UI控件基本上Main.storyboard是以NS开头,每个NSWindowController 的xib都包含一个NSWindow和一个NSView,也许有人会问我为什么不用storyboard,当然可能是我对cocoa下的storyboard不是特别的熟悉,另外一方面它确实没有xib用起来方便,最起码现在很多人做mac app开发时大部分都用的是xib,除了少部分的纯代码手写除外!

cocoa开发的坐标系也与ios开发的坐标系不同,cocoa开发的坐标系的原点在XY坐标系的左下角,而ios开发的坐标系的原点是在XY坐标系的左上角开始的。当然了,你要是不习惯的话可以强制性修改它的坐标系,如:通过覆盖视图的isFlipped方法,强制视图坐标系原点为左上角位置.

方法名称为:- (BOOL)isFlipped{return YES;} 一般声明某个控件在窗口的位置用NSMakeRect(0, 0, 110, 110)或者

CGRectMake(0, 0, 110, 110)至于两者到底目前有什么不同,暂时没有深入研究!在cocoa 开发中视图本身没有提供背景颜色,边框,圆角等属性。但是可以利用layer属性来控制这些效果,使用这些属性之前必须设置其属性wantsLayer为YES。这一点就相对于没有ios开发要方便的多,当然还可以通过重绘的方法来实现这些效果- (void)drawRect:(NSRect)dirtyRect

在cocoa开发中一般以NSWindow为窗口,如果要实现跳转显示另一个窗口需要关闭当前窗口,然后显示下一个窗口

推荐阅读更多精彩内容