Xcode开发学习笔记

1、苹果的程序和普通的C程序一样,每一个程序必须包含main( )函数。

 

2、自己使用的类名不要使用“NS”做前缀,以免引起混淆。NS是苹果自有的类专用的,它代表NeXTStep。Mac OS
X就是在NeXTStep操作系统的基础上发展起来的,苹果公司收购了NeXT公司,此举使乔布斯(Steve Jobs)重返苹果并重坐第一把交椅。

 

3、所有类里面,顶级的是被称作“对象类”(NSObject)的类。几乎所有的你创建或使用的类都
直接或间接的是对象类的“子类”(subclass)。比如类NSWindow是类NSResponder的子类,类
NSResponder又是类NSObject的子类。

 

4、Cocoa 屏幕输入函数:
NSLog(@"Julia is a pretty actress.");
以@开通的字符串表示Objective-C的字符串

 

5、Object c包含头文件使用#import
例如:#import <Foundation/Foundation.h>

5、XCode开发的主要窗口分为两个部分:
左边一栏叫做“Groups & Files”,用来处理组成你整个程序的各个素材文件。当前这里面没有太多
内容,等后面你开始写多语言图形程序时,将在这一栏里找到图形界面程序和多语言程序需要的素
材文件。如果你要在硬盘上一一去查找分散的素材文件可能会比较麻烦,Xcode中提供了虚拟文件
夹(被称为“组”(Group))概念,素材文件被分类存放在这些Groups中,可以帮助你方便的组
织这些素材。


5、界面资源文件为nib文件,类似于Windows开发的资源编辑器。Cocoa-Controls被称作“调板”,类似于Windows开发的
资源工具箱。里面存放着可以用于你的图像界面的各种对象。把光标停留在某控件上方时便会显示改控件的类名。
选中一个对象,使用command-shitf-i就可以修改它的属性


6、创建好了窗口界面资源以后,还需要为窗口创建类:
在该窗口的nib文件界面,选择“Classes”标签页。在第一栏中你会看到“NSObject”。选择它,
并在“Classes”菜单中选择“Subclass NSObject”。创建一个类MyClass之后,回到界面编辑界面中在Classes菜单
选择"Instantiate MyClass"一项。就有了一个新的叫做MyClass的图标。这个图标代表了我们刚刚创建的类的实例。

 

7、为了关联上控件和类的消息处理联系。现在来建立界面上某控件和改类的关联:
在“*.nib”窗口中单击“Instances”标签页。按住键盘上的Ctrl键并用鼠标将“控件”
拖拽到MyClass的实例上。(千万不要使用别的方法创建关联!)一条代表关联关系的线会显示在屏幕上,
确认这条线是从按钮连到了MyClass的实例上就可以松开鼠标了。当松开鼠标,检视窗口会显示关联调板,
调板中列出了对象MyClass中可用的方法。选择正确的方法并单击“Connect”按钮来完成关联过程。
当然这些方法要在事先在MyClass中添加好

 

8、Cocoa有一个很重要的awakeFromNib函数。当窗口打开,方法awakeFromNib就会自动被调用。这个方法用来初始化窗口的状态很有用


9、字符串:
由类NSString创建的字符串被叫做固定字符串,因为它不可修改。不可以修改的字符串有什么优点?
应当说这样的字符串更容易为操作系统处理,所以你的程序也可以更快的运行。
NSString * foo;
foo = @"Julia!";
有时你确实要修改它们。你可以使用另外一个类——NSMutableString
NSMutableString *foo;
foo = [@"Julia!" mutableCopy];
[foo appendString:@" I am happy"];
,方法mutableCopy(由类NSString提供)复制了一个新的可变字符串作为方法信息的接收方。

 

10、数组:
有两个类提供了数组:NSArray和NSMutableArray。带有字符串的数组分为固定数组和可变数组两种。
[NSMutableArray array]
这个语句会产生一个空数组
NSMutableArray *myArray = [NSMutableArray array];
[myArray addObject:@"first string"];
[myArray addObject:@"second string"];
[myArray addObject:@"third string"];
int count = [myArray count];
NSLog(@"There are %d elements in my array", count);

置换数组内元素要使用到方法“replaceObjectAtIndex:… withObject:…”。
[myArray replaceObjectAtIndex:1 withObject:@"Hello"];

内存管理:
为了帮助你处理那些不在被使用的对象,Cocoa给每个对象关联了一个计数器,被称做“保留计数器”。
编程时,给对象增加一条援引信息,就要让对象在它的计数器里加一;当减少一次援引,则减一。
当保留计数器的计数为0的时候,对象就知道自己已经不再被援引了,可以被安全的毁掉了。
这时候的对象会毁掉自己并释放出内存空间。

 

11、开发常用网站资源:
苹果开发者主页:http://www.apple.com/developer
http://osx.hyperjeff.net/reference/CocoaArticles.php
http://www.cocoadev.com/
http://www.cocoabuilder.com/
http://www.stepwise.com/
上述网站还提供大量的链接指向其他更多的资源。你还应该订阅“cocoa-dev”邮件列表(网址
http://lists.apple.com/mailman/listinfo/cocoa-dev)。在这里你可以进行提问,热心的网友
们总会尽己所能帮助你解决问题。当然,你要注意礼貌,而且应当首先自己试着解决(参考
http://www.cocoabuilder.com/ )。http://www.catb.org/~esr/faqs/smart-questions.html
面上的“How To Ask Questions The Smart Way”则是告诉你如何恰当的提问。

还有一些优秀的关于Cocoa开发的书籍。Stephen Kochan编写的《Programming in Objective-C》
是为初学者准备的。其它一些书则要求你具备本书所将到的基础知识。我们比较推崇Aaron Hillegass
编写的《Cocoa Programming for Mac OS X》,他本人则是在Big Nerd Ranch教授这方面的课程。我
们同样向您推荐James Duncan Davidson和苹果公司合作编写的,由O'Reilly出版的《Cocoa withObjective-C》一书。

posted @ 2008-08-30 22:46  猫咪  阅读(6174)  评论(1编辑  收藏  举报