黑馬程式設計師 Foundation框架

2021-06-27 04:30:23 字數 3703 閱讀 7392

黑馬程式設計師——oc

基礎---foundation

框架(一)

------- android培訓

、ios培訓

、期待與您交流! ----------

內容概括:

1、foundation中常用的結構體。

* nsrange

* nspoint \ cgpoint

* nssize \ cgsize

* nsrect \ cgrect

2、foundation中常用的類。

3、oc集合

nsarray

和nsset

的使用。

一、結構體的使用。

1、nsrange(求範圍和長度的結構體) 例:

nsstring *str = @」 i love oc」;

nsrange range = [ str rangeofstring :@」ve o」];

nslog(@」loc = %d,length = %d」,range.location,range.length);

注意:(查詢ve o

在str

中的範圍和長度,如果找不到,

length = 0

,location = nsnotfound 。)

2、nspoint \ cgpoint(表示座標的陣列。) 例:

cgpoint  p1 = nsmakepoint(10,10);

nspoint p2 = cgpointmake(10,10); // 最常用的座標表示法。

3、nspoint \ cgpoint(表示

ui元素的長與寬。) 例:

nssize s1 = cgsizemake(100,50); // 表示寬為50,高為100.

nssize s1 = nsmakesize(100,50);

4、nsrect \ cgrect(表示

ui元素的座標及面積。) 例:

1> cgrect r1 = cgrectmake (0, 0, 50, 100);  // (ui元素座標(

0,0)長

100,寬 

50.)

2> cgrect r2 =  };

3> cgrect r3 = ;

注意: cgpointzero == cgpointmake

(0,0

)原點。

二、foundation中常用的類

1、nsstring (不可變字串)

nsstring *s = @」123」;

// 將

@」112」拼到@」123」後面去建立乙個新字串。

// 將

c字串轉為

oc字串。

nsstring *s = [[ nsstring  alloc] intwithutf8string:」231」];

// 將

c字串轉為

oc字串

char *s = [s  utf8string];

2、可變字串。

nsmutablestring *s = [nsmutiblestring stringwithformal:@」age is 10」];

// 拼接內容到

s1的後面去。

1> 從第四位刪去兩個字元(刪去is)

[ s1 deletecharacterinrange: nsmakerange(4, 2)];

2> 找到字串的位置後再刪除

nsrange  range = [ s deletecharacterinrange: range];

三、oc集合的使用

1、nsarray(只能存放

oc物件,不能存放其他型別)

// 建立乙個nsarray物件,nil是陣列結束的標誌。
nsarray *array = [nsarry arraywithobject:@」rose」,@」jake」,nil];

nalog(@」%@」,array[1]); // 輸出jake

nalog(@」%d」,array.count); // 輸出2 // 表示有兩個元素。

// 快速建立乙個nsarray物件

nsarray *array = @;

2、nsmutableaarray (nsarray的子類)

nsmutableaarray *array = [nsmutableaarray arraywithobjects:

@」rose」,@」name」,nil];

// 增加乙個元素

[array addobject:[[person alloc] init]];

[array addobject:@」jake」];

// 刪除元素

[array removeallobjects];

// 刪除指定物件

[ array removeobjectatindex: 2]; // 乾掉person

注意:錯誤寫法

1>  [array  addobject: nil];  // 不存在

2>  nsmutablearray *array = @[@」jack」,@」jim」];

[array  addobject:@」jake」];  // 上一句返回的是

nsarray

型別,為不可變集合。

3、nsset

nsset *s = [nsset  set];

nsset *s1 = [ nsset  setwithobject:@」jake」,@」jake2」,@」jim」];

// 隨機拿出

nsstring *str = [s1 anyobject];

nsmutableset  (nsset的子類)

nsmutableset  *s = [nsmutableset  set];

// 增加元素

[s  addobject:@」123」];

// 刪除元素

[s  removeobject : (id) ];

4、集合遍歷

1> c 語言遍歷的方式。

2> 快速遍歷

for (id  obj  in  array)

3> block遍歷

[array enumeerateobjectsusingblock:

^(id obj, nsinteger idr, bool *stop ;)

// 每遍歷乙個元素,就呼叫一次

block。

// 並且當前元素和索引位置當做引數傳遞給

block;

5、nsset和

nsarray

的對比

1> 共同點

* 都是集合,都能存放多個

oc物件

* 只能存放

oc物件,不能存放基本型別

* 本身不可變,都有乙個可變的子類

2> 不同點

* nsset存放內容無序,而

nsarray

是有序的。

黑馬程式設計師 Foundation框架

1 foundation框架的作用 1 開發oc ios mac程式必備的框架,是其它所有ios框架的基礎 2 此框架中包含了很多常用的api 應用程式設計介面 3 框架中包含了很多標頭檔案,若想使用整個框架的內容,包含它的主標頭檔案即可 2.foundation框架的主頭檔名稱就是foundati...

黑馬程式設計師 OC之Foundation框架

foundation框架 ios培訓 android培訓 期待與您交流!foundation框架是其他所有ios框架的基礎 foundation框架包含了很多開發中常用的資料型別 1 結構體 2 列舉 3 類 要想使用foundation中的資料型別,包含它的主檔案即可 import 一 結構體 在...

黑馬程式設計師 OC中Foundation框架

結構體 1 nsrange原來就是由兩個unsigned long型別組成的結構體 2 nsrange的兩個成員 nsrange有兩個unsigned long型別的成員 location length 可以用來描述幾個字母在字串中所處的位置和長度。也可以描述陣列中幾個資料所處的位置和範圍。3 用n...