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

2021-06-21 21:55:55 字數 3720 閱讀 2882

foundation框架

------ ios培訓、android培訓、期待與您交流!-------

foundation框架是其他所有ios框架的基礎

foundation框架包含了很多開發中常用的資料型別

1>、結構體

2>、列舉

3>、類 

要想使用foundation中的資料型別,包含它的主檔案即可#import

一、結構體

在main.h檔案中 

#import

int main()

date;

struct date d = ;

或者struct date d2 = ;*/

//cgpoint p1 = nsmakepoint(10,10);

cgpoint p2 = cgpointmake(10,10);//最常用

nsstring *str = nsstringfrompoint(p2);

nslog(@"");

return 0;

}- (void)range

; //不用

//love在@"i love oc"中的location和 length,這種方式不用

nsrange r2 = nsmakerange(2,4); //掌握

//nsmakerange是foundation自帶的函式

nsstring *str = @"i  love oc";

nsrange range = [str rangeofstring:@"love"]; //love在str中的範圍

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

}總結:1、nsrange (location length) 是乙個表示範圍的結構體

2、nsrange r2 = nsmakerange(2,4); //掌握 

1>、love在@"i love oc"中的location和 length

2>、nsmakerange是foundation自帶的函式

3、查詢某個字串在str中的範圍

nsstring *str = @"i  love oc";

nsrange range = [str rangeofstring:@"love"]; 

//love在str中的範圍

1>、如果在str中找不到這個字串,返回length = 0;location = nsnotfound = -1(以整數形式列印)

2>、

4、nspoint/cgpoint結構體:表示座標位置

struct cgpoint;

typedef struct cgpoint cgpoint;

typedef  cgpoint napoint;

1>、用法:

cgpoint p1 = nsmakepoint(10,10);

cgpoint p2 = cgpointmake(10,10);//最常用

這兩種都可以,但是第二種比較常用

2>把乙個結構體轉成字串

nsstring *str = nsstringfrompoint(p1);

5、nssize/cgsize:表示ui元素的尺寸

用法和nspoint/cgpoint結構體一樣

6、nsrect/cgrect(cgpoint,cgsize) 

用法: cgrect r1 = nsrectmake(0,0,100,50);

7、cgpointequaltopoint  //比較這兩個點是否相同  

cgrectequaltorect   cgsizeequaltosize

8、cgrectcontainspoint //某個點是否在矩形範圍內

cgrectcontainspoint(cgrectmake(50,40,100,50),

cgpointmake(130,70)) 

//判斷右邊的點在不在左邊的範圍,返回值是bool型別

二、字串

1、開發中常見的類

nsstring 子類:nsmutablestring

// 集合類

nsarray 子類:nsmutablearray

nsset 子類:nsmutableset

nsdictionary子類:nsmutabledictionary

nsdate      

nsobject

2、nsstring 子類:nsmutablestring

nsstring:不可變字串

nsmutablestring:可變字串

在main.m檔案中

#import

int main()

小結:1>、字串的建立

nsstring *s1 = @"4393683";   

nsstring *s2 = [[nsstring alloc] initwithstring:@"jack"];

nsstring *s3 =[[nsstring alloc] initwithformat:@"abjk"];

nsstring *s4 =[[nsstring alloc] initwithutf8string:@"abjk"];

nsstring *s5 =[[nsstring alloc]

initwithcontentsofurl:url 

encoding:nsutf8stringencoding error:nil];

2>、系統自帶的方法一般都會有乙個類方法跟物件方法配對

3、nsarray 子類:nsmutablearray  //集合類

1>、nsarray:不可變陣列 nsmutablearray:可變陣列

2>、oc陣列稚嫩存放oc物件,不能存放非oc物件型別,比如int、struct、enum等

3>、nsarray中元素的建立

nsarray *array = [nsarray array];//這個array永遠是空陣列

nsarray *array2 = [nsarray arraywithobject:@"jack"];

nsarray *array3 = [nsarray arraywithobject:@"jack",@rose,nil];

//nil是陣列元素結束的標誌 前面的所有的元素都是陣列元素

4>、nsarray中元素的個數

[array2 count];//用來計算array2中的元素個數

//也可以用array2.count

5>、nsarray中元素的訪問

[array3 objectatindex:1]//只返回array3中的array3[1]

6>、快速建立乙個nsarray陣列

nsarray *array4  = @[@"jack",@"rose",@"2849"];

7>、快速遍歷乙個nsarray陣列中的所有元素

person *p = [[person alloc] init];

nsarray *array = @[p,@"jack"];

/* for(int i = 0;i、遍歷陣列

[array enumrateobjectsusingblock:^(id obj,nsuinteger idx,bool *stop)];

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

//並且當前元素和索引位置當前引數傳block

------ ios培訓、android培訓、期待與您交流!-------

黑馬程式設計師 OC基礎

asp.net unity開發 net培訓 期待與您交流!1.import的用途 1 跟 include一樣,拷貝檔案的內容 2 可以自動防止檔案的內容被重複拷貝 2.import nsobjcruntime.h中有nslog函式的宣告,一般用 3.foundation框架標頭檔案的路徑 4.主標頭...

黑馬程式設計師 OC封裝

物件導向的三大特性 封裝 繼承和多型 在開發過程中,考慮到安全性要求,我們一般不在成員變數名前面使用 public protected等關鍵字修飾,而是使用set方法來為物件提供成員變數的值。set方法的內部也可以對一些不合理的賦值進行篩選過濾。set方法的作用 為外界提供乙個設定成員變數值的方法 ...

黑馬程式設計師 OC學習之方法

方法是類的行為,寫在介面和實現兩個檔案中。在介面部分宣告方法,在實現部分實現方法。1 類方法與例項方法 objective c中的類可以宣告兩種型別的方法 例項方法和類方法。例項方法就是乙個方法,它在類的乙個具體例項的範圍內執行。也就是說,在你呼叫乙個例項方法前,你必須首先建立類的乙個例項。而類方法...