----------------------
asp.net+unity開發、
.net培訓、期待與您交流! ----------------------
一、sel
sel其實就是對方法的一種包裝,將方法包裝成乙個sel型別的資料,去找對應的方法位址,找到方法位址就呼叫對應的方法。其實訊息就是sel。
1>一種資料型別,代表乙個方法。乙個sel型別資料就代表乙個方法。
2>使用方法
把方法包裝成sel型別的資料;
根據sel資料找到對應的方法位址;
根據方法位址呼叫對應的方法;
3>建立sel型別的資料
sel s1 = @selector(方法名);
sel s2 = nsselectorfromstring(nsstring *aselectorname);
4>兩個方法
[p performselector:sel];
[p performselector:sel withobjcet:id];
5>_cmd
每個方法內部都會有乙個_cmd代表當前方法,是乙個sel型別的資料
二、description方法
1、-description方法
使用nslog和%@輸出某個物件時,會呼叫物件的-description方法,並拿到返回值進行輸出
2、+ description方法
使用nslog和%@輸出某個類物件時,會呼叫類物件+description方法,並拿到返回值進行輸出
3、死迴圈陷阱
如果在-description方法中使用nslog列印self
三、構造方法
1、作用
1>完整建立乙個可用的物件兩步
①分配儲存空間 +alloc
②初始化 -init
2>初始化成員變數
2、構造方法名都是以initwith開頭
3、重寫-init方法
1>重寫init方法必須首先呼叫父類的init方法,初始化父類中宣告的成員變數和其他屬性
if(self = [super init]),只有物件初始化成功,才有必要進行接下來的初始化
2>返回值是id,返回 乙個初始化完畢的物件。
eg:intiwith:(int)age;
4、構造方法一定是物件方法。
四、成員變數作用域
五、特殊資料型別
1、id:萬能指標,能指向/操作任何oc物件。寫id的時候不要加*。
2、self:指向呼叫者,代表當前物件或類。
1>誰呼叫了當前方法,self就代表誰。self出現在物件方法中就代表物件;self出現在類方法中,就代表類。
2>可以利用"self->成員變數"訪問當前物件內部的成員變數
3>[self 方法名]可以呼叫其他物件方法\類方法。
3、super:指向呼叫者父類或者父類物件。
1>直接呼叫父類的某個方法
2>super處在物件方法中,那麼就呼叫父類的物件方法。
3>super處在類方法中,那麼就會呼叫父類的類方法。
4>使用場合:子類重寫父類方法的時候想保留父類的一些行為。
六、nslog方法
1、nslog方法輸出增強
1>__file__:源**檔名
2>__line__:nslog**在第幾行
3>_cmd:代表著當前方法的sel
1>重寫:子類重新實現父類中的方法,覆蓋父類以前的做法
2>注意
父類必須申明在子類前面
子類不能擁有和父類相同的成員變數
呼叫某個物件的方法時,優先去當前物件中找,如果找不到再去父類找
九、小零碎
1>- (void)description死迴圈
如果在-description方法中使用nslog列印self就會進入死迴圈。
2>函式是不依賴於物件存在的。
3>oc特殊關鍵字
4>構造方法名都是以initwith開頭,建構函式作用是初始化成員變數。
5>可以利用"self->成員變數"訪問當前物件內部的成員變數
----------------------
asp.net+unity開發、
.net培訓、期待與您交流! ----------------------詳細請檢視:
www.itheima.com
mysql常用語法 MySQL常用語法
更新資料 update 表名 set 健名 更改的值 where 建 刪除資料 delete from 表名 where 索引 create index 索引名稱 on 表名 鍵名 建立試圖 create view 檢視名 鍵,鍵 as select matchno,abs won lost fro...
mysql基本常用語法 mysql 常用語法
1.1.開啟 service mysql start 1.2.關閉 service mysql stop 1.3.重啟 service mysql restart 2.1.密碼明文 語法 mysql u使用者名稱 p使用者密碼 舉例 mysql uroot p123456 2.2.密碼密文 語法 m...
wiki常用語法
公司啟用了streber執行部分專案管理工作。streber基於wiki系統建立。在streber中,我們可以建立專案 project 可以為專案建立milestone task等等。與其他專案管理系統一樣,可以為每乙個task分配資源,指定執行時間。由於streber基於wiki組建,具備了wik...