黑馬程式設計師——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...