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