關(guān)于Xcode開發(fā)學(xué)習(xí)那些事
關(guān)于Xcode開發(fā)學(xué)習(xí)那些事是本文要介紹的內(nèi)容,主要介紹了在學(xué)習(xí)xcode開發(fā)的過程中一些常用到的筆記,與大家分享一下,從而讓我們在此接觸了xcode開發(fā),不多說,先來看內(nèi)容。
1、蘋果的程序和普通的C程序一樣,每一個程序必須包含main( )函數(shù)。
2、自己使用的類名不要使用“NS”做前綴,以免引起混淆。
NS是蘋果自有的類專用的,它代表NeXTStep。Mac OS X就是在NeXTStep操作系統(tǒng)的基礎(chǔ)上發(fā)展起來的,蘋果公司收購了NeXT公司,此舉使喬布斯(Steve Jobs)重返蘋果并重坐第一把交椅。
3、所有類里面,頂級的是被稱作“對象類”(NSObject)的類。
幾乎所有的你創(chuàng)建或使用的類都直接或間接的是對象類的“子類”(subclass)。比如類NSWindow是類NSResponder的子類,類NSResponder又是類NSObject的子類。
4、Cocoa 屏幕輸入函數(shù):
- NSLog(@"Julia is a pretty actress.");
以@開通的字符串表示Objective-C的字符串
Object c包含頭文件使用#import
例如:
- #import <Foundation/Foundation.h>
5、XCode開發(fā)的主要窗口分為兩個部分:
左邊一欄叫做“Groups & Files”,用來處理組成你整個程序的各個素材文件。當(dāng)前這里面沒有太多內(nèi)容,等后面你開始寫多語言圖形程序時,將在這一欄里找到圖形界面程序和多語言程序需要的素材文件。如果你要在硬盤上一一去查找分散的素材文件可能會比較麻煩,Xcode中提供了虛擬文件夾(被稱為“組”(Group))概念,素材文件被分類存放在這些Groups中,可以幫助你方便的組織這些素材。
界面資源文件為nib文件,類似于Windows開發(fā)的資源編輯器。Cocoa-Controls被稱作“調(diào)板”,類似于Windows開發(fā)的資源工具箱。里面存放著可以用于你的圖像界面的各種對象。把光標停留在某控件上方時便會顯示改控件的類名。選中一個對象,使用command-shitf-i就可以修改它的屬性
6、創(chuàng)建好了窗口界面資源以后,還需要為窗口創(chuàng)建類:
在該窗口的nib文件界面,選擇“Classes”標簽頁。在第一欄中你會看到“NSObject”。選擇它,并在“Classes”菜單中選擇“Subclass NSObject”。創(chuàng)建一個類MyClass之后,回到界面編輯界面中在Classes菜單選擇"Instantiate MyClass"一項。就有了一個新的叫做MyClass的圖標。這個圖標代表了我們剛剛創(chuàng)建的類的實例。
7、為了關(guān)聯(lián)上控件和類的消息處理聯(lián)系。
現(xiàn)在來建立界面上某控件和改類的關(guān)聯(lián):在“*.nib”窗口中單擊“Instances”標簽頁。按住鍵盤上的Ctrl鍵并用鼠標將“控件”拖拽到MyClass的實例上。(千萬不要使用別的方法創(chuàng)建關(guān)聯(lián)!)一條代表關(guān)聯(lián)關(guān)系的線會顯示在屏幕上,確認這條線是從按鈕連到了MyClass的實例上就可以松開鼠標了。
當(dāng)松開鼠標,檢視窗口會顯示關(guān)聯(lián)調(diào)板,調(diào)板中列出了對象MyClass中可用的方法。選擇正確的方法并單擊“Connect”按鈕來完成關(guān)聯(lián)過程。
當(dāng)然這些方法要在事先在MyClass中添加好
8、Cocoa有一個很重要的awakeFromNib函數(shù)。
當(dāng)窗口打開,方法awakeFromNib就會自動被調(diào)用。這個方法用來初始化窗口的狀態(tài)很有用
9、字符串:
由類NSString創(chuàng)建的字符串被叫做固定字符串,因為它不可修改。不可以修改的字符串有什么優(yōu)點?應(yīng)當(dāng)說這樣的字符串更容易為操作系統(tǒng)處理,所以你的程序也可以更快的運行。
- NSString * foo;
- foo = @"Julia!";
有時你確實要修改它們。你可以使用另外一個類——NSMutableString
- NSMutableString *foo;
- foo = [@"Julia!" mutableCopy];
- [foo appendString:@" I am happy"];
方法mutableCopy(由類NSString提供)復(fù)制了一個新的可變字符串作為方法信息的接收方。
10、數(shù)組:
有兩個類提供了數(shù)組:NSArray和NSMutableArray。帶有字符串的數(shù)組分為固定數(shù)組和可變數(shù)組兩種。
- [NSMutableArray array]
這個語句會產(chǎn)生一個空數(shù)組
- 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);
置換數(shù)組內(nèi)元素要使用到方法“replaceObjectAtIndex:… withObject:…”。
- [myArray replaceObjectAtIndex:1 withObject:@"Hello"];
內(nèi)存管理:
為了幫助你處理那些不在被使用的對象,Cocoa給每個對象關(guān)聯(lián)了一個計數(shù)器,被稱做“保留計數(shù)器”。編程時,給對象增加一條援引信息,就要讓對象在它的計數(shù)器里加一;當(dāng)減少一次援引,則減一。當(dāng)保留計數(shù)器的計數(shù)為0的時候,對象就知道自己已經(jīng)不再被援引了,可以被安全的毀掉了。這時候的對象會毀掉自己并釋放出內(nèi)存空間。
11、開發(fā)常用網(wǎng)站資源:
蘋果開發(fā)者主頁:
- http://www.apple.com/developer。
- http://osx.hyperjeff.net/reference/CocoaArticles.php
- http://www.cocoadev.com/
- http://www.cocoabuilder.com/
- http://www.stepwise.com/
上述網(wǎng)站還提供大量的鏈接指向其他更多的資源。你還應(yīng)該訂閱“cocoa-dev”郵件列表(網(wǎng)址http://lists.apple.com/mailman/listinfo/cocoa-dev)。在這里你可以進行提問,熱心的網(wǎng)友們總會盡己所能幫助你解決問題。
當(dāng)然,你要注意禮貌,而且應(yīng)當(dāng)首先自己試著解決(參考http://www.cocoabuilder.com/ )http://www.catb.org/~esr/faqs/smart-questions.html頁面上的“How To Ask Questions The Smart Way”則是告訴你如何恰當(dāng)?shù)奶釂枴?/p>
還有一些優(yōu)秀的關(guān)于Cocoa開發(fā)的書籍。Stephen Kochan編寫的《Programming in Objective-C》是為初學(xué)者準備的。其它一些書則要求你具備本書所將到的基礎(chǔ)知識。我們比較推崇Aaron Hillegass編寫的《Cocoa Programming for Mac OS X》,他本人則是在Big Nerd Ranch教授這方面的課程。我們同樣向您推薦James Duncan Davidson和
小結(jié):關(guān)于Xcode開發(fā)學(xué)習(xí)那些事的內(nèi)容介紹完了,希望本文對你有所幫助!