多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內(nèi)最全IT社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當前位置:首頁 > 互聯(lián)網(wǎng) > Objective-c基礎(chǔ)知識學(xué)習(xí)筆記

Objective-c基礎(chǔ)知識學(xué)習(xí)筆記

來源:程序員人生   發(fā)布時間:2014-09-11 23:02:45 閱讀次數(shù):2675次

Objective-c基礎(chǔ)知識學(xué)習(xí)筆記(一)

        一直有記錄筆記的習(xí)慣,但很久沒分享一些東西了,正好上半年開始學(xué)習(xí)IOS了,現(xiàn)在有空寫點。因開發(fā)需要,公司特意為我們配置了幾臺新MAC,還讓我們自學(xué)了2周時間,就正式進入開發(fā)了。現(xiàn)在將自己了解的一些基礎(chǔ)知識分享一下。

一、開發(fā)工具

        svn管理工具:versions(備注:個人感覺這個工具不是很好用,經(jīng)常操作緩慢而且卡頓)、開發(fā)工具:xcode

 

二、IOS系統(tǒng)架構(gòu)

        IOS是基于UNIX內(nèi)核,Android是基于Linux內(nèi)核。

        IOS的系統(tǒng)架構(gòu)分為四個層次,從下到上依次是:核心操作系統(tǒng)層(Core OS layer)、核心服務(wù)層(Core Services layer)、媒體層(Media layer)和可觸摸層(Cocoa Touch layer)。

        1、Core OS是位于iOS系統(tǒng)架構(gòu)最下面的一層,是核心操作系統(tǒng)層,它包括內(nèi)存管理、文件系統(tǒng)、電源管理以及一些其他的操作系統(tǒng)任務(wù),可以直接和硬件設(shè)備進行交互。作為app開發(fā)者不需要與這一層打交道。

        2、Core Services是核心服務(wù)層,可以通過它來訪問iOS的一些服務(wù)。

        3、Media是媒體層,通過它我們可以在應(yīng)用程序中使用各種媒體文件,進行音頻與視頻的錄制,圖形的繪制,以及制作基礎(chǔ)的動畫效果。 

        4、Cocoa Touch是可觸摸層,這一層為我們的應(yīng)用程序開發(fā)提供了各種有用的框架,并且大部分與用戶界面有關(guān),本質(zhì)上來說它負責用戶在iOS設(shè)備上的觸摸交互操作。

 

三、重要后綴說明

        .h后綴的文件指頭文件,描述類、類的數(shù)據(jù)成分以及類的方法,相當于接口。

        .m后綴的文件是實現(xiàn)文件(源文件)

        .xib后綴文件,是interface builder文件,存放應(yīng)用程序的用戶界面(UI)

 

四、基礎(chǔ)語法

        Objective c是面向?qū)ο蟮?/p>

1、#import(引入頭文件)語法

        eg:#import<Foundation/Foundation.sh>

#import"SelfClass.h"

@classSelfClass

         備注:<>只在系統(tǒng)文件中查找,””先在本地查找,沒找到則到系統(tǒng)文件中查找,import可自動防止同一個文件被導(dǎo)入多次。實例變量類型一般用@class引入,這個可以縮短編譯時間,一般用在interface中,里面的方法和變量不可用。

2、字符串NSString

        @"字符串"

3、BOOL布爾類型

        有YES和NO兩個值,備注:大于0的數(shù)不一定是YES

4、控制臺輸出NSLog()

        %@輸出NSString等對象的值

 

五、類的定義與實現(xiàn)

1、@interface用于定義接口類

        接口一般在.h文件(頭文件)中定義,用來展示類的構(gòu)造。

         Eg:定義基于NSObject類的Circle類

@interfaceCircle :NSObject

{

      ShapeColor *fillColor;

}

-(void) draw;

-(void)setFillColor: (ShapeColor *) fillColor secondName:(int) index;

@end

        1)、大括號內(nèi)的變量為類的實例變量(只在對象的實例中有效,所以稱為實例變量ivar),后面的為方法聲明。備注:c函數(shù)原型中沒有先行短線。

        2)、方法返回類型與C函數(shù)有相同的類型:標準類型(整型、浮點型、字符串)、指針、引用對象和結(jié)構(gòu)體,如果方法使用參數(shù)則需要冒號,否則不需要冒號。沒有聲明實例變量時,無需大括號。

        3)、上面多參數(shù)方法定義,也可以不需要secondName,但不推薦這樣使用。

        4)、有些方法的聲明是先行加號,這樣的方法為類方法(class method),這個方法屬于類對象(而不是類的實例對象),類似于靜態(tài)方法,通常用于創(chuàng)建新的實例,我們稱這種用來創(chuàng)建新對象的類方法為工廠方法。

        5)、在對象類型的右邊都有一個*號,所有的對象變量都是指針類型。id類型(任意類型)已經(jīng)被預(yù)定義為指針類型,所以不需要再加一個*

2、@implementation

實現(xiàn)類一般在.m文件(實現(xiàn)文件)中實現(xiàn),實現(xiàn)了接口所聲明的所有方法。

Eg:上面Circle的實現(xiàn)類

@import “XXX.h”//引入上面定義的頭文件

@implementationCircle

- (void)setFillColor: (ShapeColor *) c

{

      fillColor = c;

}

 

3、對象的實例化

1)、Circle *circle = [Circle new];//不建議這樣使用

2)、Circle *circle = [[Circle alloc]init];//一般這樣初始化

4、方法的調(diào)用

[ciclesetFillColor: kRedColor];//備注中間是空格

5、實例變量作用域的指令:

@protected實例變量可被該類及任何子類中定義的方法直接訪問(默認的情況)。

@private實例變量可被定義在該類的方法直接訪問,不能被子類定義的方法直接訪問。

@public實例變量可被該類中定義的方法直接訪問,也可被其他類或模塊中定義的方法訪問。使得其他方法或函數(shù)可以通過(->)來訪問實例變量(不推薦用)。

@package 對于64位圖像,可以在實現(xiàn)該類的圖像的任何地方訪問這個實例變量。

6、繼承

@interface Circle: NSObject

        不支持多繼承,但Objective-C通過其它特性達到多繼承的效果,例如類別和協(xié)議。

7、復(fù)合(composition)

        復(fù)合就好像音樂中的作曲一樣:將多個組件組合在一起,配合使用,從而得到完整的作品。嚴格來說,只有對象間的組合才能叫復(fù)合。

        復(fù)合類之間的關(guān)系為“has a”。備注:在Objective-C中,復(fù)合是通過包含作為實例變量的對象指針實現(xiàn)的。

Eg:汽車有4個輪胎和一臺發(fā)動機。

@interface  Car:NSObject

{

      Engine *engine;

      Tire *tire[4];

}

備注:為新建的Car對象分配內(nèi)存時,這些指針將被初始化為nil(零值)

 

六、id

id shapes[2];

shapes[0] = [[Circlealloc]init];

shaoes[1] =[ [Egg alloc]init];

它是指向任意類型對象的指針,相當于范型。

 

七、存取方法名命名

1、setter方法需要在屬性名稱前增加set前綴,eg:setEngine

2、getter方法則是以其返回的屬性名稱來命名,eg:engine不要將get用作getter方法的前綴,例如方法getEngine違反了命名慣例,get這個詞在Cocoa中有特殊的含義,如果get出現(xiàn)在Cocoa的方法名中,就意味著這個方法將你傳的參數(shù)作為指針來返回數(shù)值。

 


生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 一区二区三区在线 | 日本 | 纯欧美一级毛片_免费 | 午夜精品福利影院 | 欧美久久久久久久一区二区三区 | 69视频免费 | 视频一区 中文字幕 | 精品国产一区二区三区在线观看 | 国语对白清晰好大好白在线 | 国语精品91自产拍在线观看二区 | 最近中文免费字幕8 | 欧美日韩免费大片 | 国产第一页亚洲 | 男女日日 | 亚洲精品国产一区二区三区四区 | 亚洲第一网站 | 久久久久久免费一区二区三区 | 欧美另类69xxxx | 亚洲图片欧美文学小说激情 | 中文字幕亚洲欧美一区 | 国产精品久久久久久爽爽爽 | 性欧美videofree丝袜 | 日日夜夜精品免费视频 | 欧美特级黄色 | 免费在线中文字幕 | 日韩特黄特色大片免费视频 | 波多野结衣在线不卡 | 最近最新中文字幕免费高清1 | 伊人久久大香线焦在观看 | 羞污影院| 欧美成人精品高清在线播放 | 欧美一区二区三区免费不卡 | 日本一区二区三区精品国产 | 免费毛片网站 | 免费在线观看的视频 | 欧美整片完整片视频在线 | 亚洲免费中文字幕 | 国产专区自拍 | 国产精品亚洲午夜不卡 | 欧美videofree性欧美另类 | 国产日本欧美在线观看乱码 | 秋霞网亚洲成a人片 |