IOS 學習日誌 2015-3-16,ios2015-3-16

來源:互聯網
上載者:User

IOS 學習日誌 2015-3-16,ios2015-3-16

Objective--C 一 關鍵字self 相當於java中的this,但是又有不同 它即可一代替對象,也可以代替類, 也就是說它既可以用在靜態方法中又可以用在動態方法中。super 相當於父類,可以調用父類的函數nil 相當於java中null,null 指標#pragma    注釋代碼用的,用它注釋之後,以後你要想找到這段代碼可以一下定位到該段代碼,一般在一些回調方法、代理方法中常用它注釋SEL 函數指標地址 @select 擷取類的方法在記憶體中的指標地址 @protocol 協議 相當於 java中的抽像類二 函數description  相當於java中ToStringrespondsToSelector 判斷是否實現了某方法 三 規則 1 函數的範圍A 將方法寫在.m中,為私人;寫在.h為公有B 在java 中public private 可以修飾函數 變數,但是好像OC中只能用來修飾變數,那麼OC區分函數的公有與私人,就看在.h檔案有沒有定義2 description A 位置 在.m 檔案中B 返回格式為 [NString stringwithFormat:@"",...] C 估計父類中已有該函數,我們就是複寫,用於列印測試 D NSLog中的格式符是%@,當使用%@輸出一個對象時,ObjC會調用個對象的description返回對應的資訊進行輸出,預設情況下如果我們不重寫description方法,輸出內容是類名和地址E 需要強調的是千萬不要在description中列印輸出self,因為當輸出self時會調用該對象的description方法,如此一來就會造成死迴圈。3 respondsToSelector1 執行個體方法\類方法 2 判斷該類是否實現了某方法3 格式 Bool buer = [類\對象 repondsToSe]ector:@select(測試方法名:);4 protocol 協議 A 在ObjC中使用@protocol定義一組方法規範,實現此協議的類必須實現對應的方法。熟悉物件導向的童鞋都知道介面本身是對象行為描述的協議規範。也就是說在ObjC中@protocol和其他語言的介面定義是類似的,只是在ObjC中interface關鍵字已經用於定義類了,因此它不會再像C#、Java中使用interface定義介面了B 一個協議可以擴充自另一個協議,例如上面AnimalDelegate就擴充自NSObject,如果需要擴充多個協議中間使用逗號分隔;3 和其他進階語言中介面不同的是協議中定義的方法不一定是必須實現的,我們可以通過關鍵字進行@required和@optional進行設定,如果不設定則預設是@required(注意ObjC是弱文法,即使不實現必選方法編譯運行也不會報錯);C 協議通過<>進行實現,一個類可以同時實現多個協議,中間通過逗號分隔;D 協議的實現只能在類的聲明上,不能放到類的實現上E 協議中不能定義屬性、成員變數等,只能定義方法;
     F 假如有個聲明類接入了協議,而且該協議有個必選函數,它可以不在聲明中複寫,只需要在實現中複寫就可;4 法則1 繼承 2 封裝

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.