結構體:
1)nsrange原來就是由兩個unsigned long型別組成的結構體:
2)nsrange的兩個成員
nsrange有兩個unsigned long型別的成員:location、length
可以用來描述幾個字母在字串中所處的位置和長度。
也可以描述陣列中幾個資料所處的位置和範圍。
3)用nsstring的物件方法
rangeofstring,查詢某個字串在str中的範圍
為什麼使用cgpoint?
因為cgpoint和nspoint的功能是一樣的,但是cgpoint是跨平台的,所以一般使用cgpoint
nspoint定義在foundation/nsgeometry.h中,其定義格式是這樣的:
表示ui元素的尺寸,寬度和高度
nssize結構體同樣是定義在foundation/nsgeometry.h中的,其定義結構如下
nsrect結構體定義在foundation/nsgeometry.h中,其定義為:
這個結構體用來儲存寬度和高度,origin表示矩形左上角的座標,size表示矩形的高度和寬度。同樣的,我們可以使用nsmakerect()和cgrectmake()來建立乙個nsrect或者cgrect
字串建立的幾種方式:
url的書寫格式
協議頭://路徑
協議頭包括:http(網路資源)、ftp(ftp伺服器資源)、file(本地檔案)等
一般都會有乙個與物件initwith方法配對的類方法。開發中,我們常用類方法,因為**短,省時間。
nsarray:不可變陣列
nsmutablearray:可變陣列
nsmutablearray是nsarray的子類
c語言陣列:只能存放單一型別資料
oc陣列:可以存放各種oc物件
* oc陣列不能存放nil值,nil代表oc陣列的結束。
* oc陣列只能存放oc物件、不能存放非oc物件型別,比如int、struct、enum等
字典:乙個key(鍵)對應乙個value(值),裡面儲存的東西都是鍵值對。
key(id型別) ----> value(id型別)
一般用法:索引 ---->文字內容
集合*有序
*快速建立(不可變):@[obj1, obj2, obj3]
*快速訪問元素:陣列名[i]
*無序*無序
*快速建立(不可變):@
*快速訪問元素:字典名[key]
在oc陣列和字典中,只能存放oc物件。如果我們想傳乙個基本資料型別到陣列中,比如int型別,只能將int包裝成字串物件:@「20」。
oc中提供這兩個類nsvalue、nsnumber,可以將任何基本資料型別轉成nsvalue或nsnumber型別的物件。
* nsnumber是nsvalue的子類
* nsvalue可以包裝任何基本資料
* nsnumber只能包裝數字(int、double、floa、bool、enum)
1)基本用法
當我們想把nsdate物件中的時間輸出到手機螢幕上時,我們就需要將nsdate物件轉成字串。
但如何告訴程式我們想要用什麼格式輸出呢?2015\04\07 還是 2015-04-07 11:10:36? 用24時制還是12時制?
這就用到了時間格式類:nsdateformatter
1.結構體一般用cg字首而不用ns,cg是跨平台的。
2.呼叫cg開頭的函式需要新增
coregraphics框架
3.nsmutable開頭的類都是可變的,都是不帶mutable的類的子類
4.基本資料型別與oc物件的轉換:nsvalue/nsnumber
5.預設顯示時間是0時區的時間,北京是東8區。時間格式化:nsdateformatter
黑馬程式設計師 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中的多型
一 基本概念 多型在 中的體現,即為某一類事物的多種形態,oc 物件具有多型性。必須要有繼承,沒有繼承就沒有多型。在使用多型時,會進行動態檢測,以呼叫真實的物件方法。多型在 中的體現即父類指標指向子類物件。person p student new 23 p age 100 45 p walk 用父類...