這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)Objective-C的基礎(chǔ)知識(shí)有哪些,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
創(chuàng)新互聯(lián)建站網(wǎng)站建設(shè)公司一直秉承“誠(chéng)信做人,踏實(shí)做事”的原則,不欺瞞客戶,是我們最起碼的底線! 以服務(wù)為基礎(chǔ),以質(zhì)量求生存,以技術(shù)求發(fā)展,成交一個(gè)客戶多一個(gè)朋友!專注中小微企業(yè)官網(wǎng)定制,成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站,塑造企業(yè)網(wǎng)絡(luò)形象打造互聯(lián)網(wǎng)企業(yè)效應(yīng)。OC是C語(yǔ)言的一個(gè)擴(kuò)展集,幾乎OS X或IOS平臺(tái)上的所有應(yīng)用程序都是該語(yǔ)言開(kāi)發(fā)的。
可以使用工具包Cocoa(針對(duì)OS X系統(tǒng))和Cocoa Touch(針對(duì)IOS系統(tǒng))來(lái)開(kāi)發(fā)功能完備的Objective-C項(xiàng)目.
Xcode是蘋(píng)果提供的用來(lái)創(chuàng)建IOS和OS X應(yīng)用程序的開(kāi)發(fā)環(huán)境
點(diǎn)擊window菜單下的Welcome to Xcode選項(xiàng)或使用Command+Shift+l快捷鍵就可以看到最近編輯過(guò)的項(xiàng)目
File->New->New Project,選擇Mac OS X->Application,右邊選擇Command Line Tool,最后選擇命令行工具類型為Foundation。 創(chuàng)建一個(gè)項(xiàng)目。
點(diǎn)擊Run按鈕或者快捷鍵Command+R,生成并運(yùn)行程序。使用View->Debug Area->Activate Console或者快捷鍵Command+Shift+C,打開(kāi)Xcode控制臺(tái)窗口,顯示輸出結(jié)果。
main.m 就是包含了OC程序代碼的源文件。
#importint main(int argc, const char* argv[]) { NSLog(@"HELLO Objectibe-C!"); return (0);
} //main
8. .m代表message,OC的一個(gè)主要特性。
9. import引入框架Foundation中的Foundation.h頭文件
10. 框架是一種把頭文件、庫(kù)、圖片、聲音等內(nèi)容聚集在一個(gè)獨(dú)立單元中的集合體。
11. Cocoa、Carbon、QuickTime和OpenGL等作為框架集,Cocoa的組成部分有:Foundation、Application Kit(AppKit)框架,支持型框架Core Animation和Core Image。
12. 每個(gè)框架都有一個(gè)主頭文件,它包含了框架內(nèi)所有的頭文件。通過(guò)在主頭文件中使用#import,就可以訪問(wèn)框架內(nèi)的所有功能。
13. Xcode使用預(yù)編譯頭文件的方法來(lái)加快讀取速度,通過(guò)#import導(dǎo)入這種文件時(shí),加載速度會(huì)非???。
14./System/Library/Frameworks/Foundation.framework/Headers/包含了Foundation框架的頭文件
15. NSString字符串,不過(guò)字符串一般使用字符串指針NSString. NSLog輸出時(shí),第一個(gè)參數(shù)必須帶有@
16. BOOL占有8位,用YES和NO兩個(gè)值。 8位數(shù)*******0表示BOOL時(shí)為0, 8位數(shù)*******1對(duì)應(yīng)BOOL時(shí)為1
17. OOP(Object-Oriented Programming)面向?qū)ο缶幊?/p>
18. 間接(indirection),讓其他人代替自己做某件事,或者讓他人代替自己去完成工作
19. 命令行參數(shù)(啟動(dòng)參數(shù))的輸入,如果使用Xcode編輯程序,運(yùn)行時(shí),Product->Edit Scheme,Arguments,點(diǎn)擊Arguments Passed On Launch標(biāo)題下的加號(hào)按鈕,然后輸入啟動(dòng)參數(shù),OK。
20. 在OC中,方括號(hào)[],用于通知某個(gè)對(duì)象該去做什么。方括號(hào)里的第一項(xiàng)是對(duì)象,其余部分是需要對(duì)象執(zhí)行的操作。
21. 在OC中,通知對(duì)象執(zhí)行某種操作稱為發(fā)送消息(也稱為“調(diào)用方法”),[shape draw]表示向shape對(duì)象發(fā)送draw消息。
id shape = shapes[i];
[shape draw];
22. 類(class) 是一種表示對(duì)象類型的結(jié)構(gòu)體
23. 對(duì)象(object) 是一種包含值和指向其類的隱藏指針的結(jié)構(gòu)體
24. 實(shí)例(instance) 是“對(duì)象”的另一種稱呼
25. 消息(message) 是對(duì)象可以執(zhí)行的操作
26. 方法(method) 是為響應(yīng)消息而運(yùn)行的代碼
27. 方法調(diào)度(method dispatcher) 是OC使用的一種機(jī)制
28. 接口(interface) 是類為對(duì)象提供的特性描述
29. 實(shí)現(xiàn)(implementation) 是使接口能正常工作的代碼
//接口,就是C++中的類
//實(shí)現(xiàn),就是C++中類方法的實(shí)現(xiàn)
@interface Circle : NSObject
{
@private
ShapeColor fillColor;
ShapeRect bounds;
}
- (void) setFillColor : (ShapeColor) fillColor;
- (void) setBounds : (ShapeRect) bounds;
- (void) draw;
@end //Circle
注釋:聲明了一個(gè)類Circle, 父類是NSObject,它有數(shù)據(jù)成員fillColor和bounds,成員方法setFillColor、setBounds、draw, setFillColor的返回值為void并且有一個(gè)ShapeColor類型的參數(shù)fillColor,@end表示類Circle聲明結(jié)束
30. @interface用于定義類的公共接口。 通常,接口被稱為API(Application programming interface)
31. 類的實(shí)現(xiàn)
@implementation Circle
- (void) setFillColor : (ShapeColor) c
{
fillColor = c;
} //setFillColor
- (void) setBounds : (ShapeRect) b
{
bounds = b;
} //setBounds
注釋:@implementation是一個(gè)編譯器指令,表明你將為某個(gè)類提供代碼。接下來(lái)的是各個(gè)方法的定義。 可以定義一些在聲明中沒(méi)有出現(xiàn)過(guò)的方法,可以把它們看做是僅能在當(dāng)前類實(shí)現(xiàn)中使用的私有方法。 但是,OC中不存在真正的私有方法,也無(wú)法吧某個(gè)方法標(biāo)識(shí)為私有方法,從而禁止其他代碼調(diào)用它。 這個(gè)OC動(dòng)態(tài)本質(zhì)的副作用。
32. OC運(yùn)行時(shí)是指用戶運(yùn)行應(yīng)用程序時(shí),支持這些應(yīng)用程序的代碼塊。
33. 創(chuàng)建對(duì)象的過(guò)程,叫做實(shí)例化(instantiation)
34. 實(shí)例化對(duì)象時(shí),需要分配內(nèi)存,然后將這些內(nèi)存初始化并保存為有用的默認(rèn)值,這些值不同于通過(guò)新分配的內(nèi)存獲得的隨機(jī)值。 內(nèi)存分配和初始化工作完成之后,就意味著新的對(duì)象實(shí)例已經(jīng)創(chuàng)建好了。
35. OC的一個(gè)特性,可以把類當(dāng)成對(duì)象來(lái)發(fā)送消息。
36. 為了創(chuàng)建一個(gè)新的對(duì)象,需要向相應(yīng)的類發(fā)送發(fā)送new消息。該類接收并處理完new消息后,我們就會(huì)得到一個(gè)可以使用的新對(duì)象實(shí)例。
int main(int argc, const char* argv[])
{
id shape[3];
ShapeRect rect0 = {0, 0, 10, 30};
shapes[0] = [Circle new];
[shapes[0] setBounds:rect0];
[shapes[0] setFillColor:kRedColor];
...
drawShapes (shapes, 3);
return (0);
} //main
面向?qū)ο蟠髱烞ertrand Meyer的開(kāi)放/關(guān)閉原則(Open/Closed Principle),即軟件實(shí)體應(yīng)該對(duì)擴(kuò)展開(kāi)放,而對(duì)修改關(guān)閉。
上述就是小編為大家分享的Objective-C的基礎(chǔ)知識(shí)有哪些了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。