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中的類可以宣告兩種型別的方法 例項方法和類方法。例項方法就是乙個方法,它在類的乙個具體例項的範圍內執行。也就是說,在你呼叫乙個例項方法前,你必須首先建立類的乙個例項。而類方法...