iOS開發入門 ☞ OC語言·筆記七

来源:http://www.cnblogs.com/bossren/archive/2017/02/22/6428746.html
-Advertisement-
Play Games

分類 Category 分類只能給類擴充方法,不能添加屬性! Category有很多種翻譯:分類 / 類別 / 類目(一般叫分類) 分類是一個類的補充,是類的一部分。 Category的作用: 可以在不修改原來類的基礎上,為這個類擴充一些方法。(使用繼承也可以,在子類中擴充父類沒有的方法) 一個龐大 ...


分類 Category

  分類只能給類擴充方法,不能添加屬性!

  1.  什麼是Category
    • Category有很多種翻譯:分類 / 類別 / 類目(一般叫分類)
    • 分類是一個類的補充,是類的一部分。
    • Category的作用:
      • 可以在不修改原來類的基礎上,為這個類擴充一些方法。(使用繼承也可以,在子類中擴充父類沒有的方法)
      • 一個龐大的類可以分模塊開發
      • 一個龐大的類可以由多個人來編寫,更有利於團隊合作
    • 常見用法
      • 將一個類分成若幹個部分,便於閱讀和管理
      • 給一個已有的類通過定義分類的方式增加功能(經常給系統的類擴充方法)
  2.  語法格式

@interface 類名 (分類名)

//聲明擴充的方法

@end

@implementation 類名 (分類名)

//實現擴充的方法

@end

  創建一個分類:

    

  分類的註意事項:

  • 分類是用於給原有類添加方法的, 它只能添加方法, 不能添加屬性(成員變數)
  • 分類中定義@property屬性, 只會生成setter/getter方法的聲明,不會生成方法的實現和實例變數。
  • 可以在分類中訪問原有類中.h中的屬性

    方法的調用順序: 1.分類 —> 2.本類  —> 3.父類

擴展 Extension

  匿名分類    在類的.m文件中定義擴展,在擴展中定義私有屬性和私有方法。

  1.  概念
    • Extension有很多種翻譯:擴展 / 延展 / 匿名分類(一般叫擴展)
    • 擴展是一特殊的分類, 沒有分類名。
    • 可以在擴展中定義實例變數,定義屬性,增加方法。
  2.  語法格式

@interface 類名 ( )

//聲明私有的成員變數

//聲明私有的屬性

//聲明私有的方法

@end

  • 擴展最常用的方式是:

    在類的.m文件中定義擴展,在擴展中定義私有的屬性和聲明私有的方法。

    在UI中常用擴展來定義私有屬性!

Category練習:

  

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 總體來講基本所有軟體都繞不開更改顏色這種事兒。 廢話不多說,開始添加背景顏色 1.先創建工程項目 2.修改ViewController.m(註意大小寫區分) 3.創建一個gray的名字的顏色類調用方法輸入代碼 4.測試圖如下 5.分析一下插入的代碼 Objective-C是面相對象的語言,所以對象是 ...
  • 引言:Xcode8 之後引用Automatic manage signing 。對於開發者而言,在證書上栽的坑肯定不少。 準備:1.開發者賬號是必須的吧。 2. Xcode設置account (不給Xcode說你的賬號,怎麼找你的證書和app信息) 3.開發者賬號,如圖依次次設置,具體設置內容簡單說 ...
  • 問題:上傳頭像成功後,頭像的url沒變,載入頭像時還是從緩存中根據url載入以前的圖片。 這個問題,很多人遇到過。也受到很多同行的啟發。 圖片url不變,感覺不是很合理,這樣會把緩存搞亂。 但是,作為程式員,我還是得好好想想改怎麼解決這個問題。 1.既然是緩存引起的問題,那我首先考慮的是清除緩存。 ...
  • 代理設計模式 Demo 一、讓別人幫我做事 —— 基本版 二、讓別人幫我做事 —— 引入協議 三、讓別人幫我做事 —— 規範完整版 ...
  • 由OpenDigg 出品的安卓開源項目周報第九期來啦。我們的安卓開源周報集合了OpenDigg一周來新收錄的優質的安卓開源項目,方便安卓開發人員便捷的找到自己需要的項目工具。 ...
  • 前言: 實現非同步下載apk文件 並 安裝。(進度條對話框顯示下載進度的展現方式) 涉及技術點: 1、ProgressDialog 進度條對話框 用於顯示下載進度 2、AsyncTask 非同步任務的使用 耗時操作不能再主線程中進行 安卓開發_淺談AsyncTask 3、File 文件相關操作 將文件的 ...
  • 工具 常見的反編譯工具我已經放到開源中國了,大家可以自行下載。 http://git.oschina.net/zyj1609/AndroidReverseProject 博客 這裡引用郭神的大作: Android安全攻防戰,反編譯與混淆技術完全解析(上) Android安全攻防戰,反編譯與混淆技術完 ...
  • block(代碼塊) 1.1 什麼是block block是iOS中一種比較特殊的數據類型。(可以定義變數、做形參或返回值) block是蘋果官方特別推薦使用的數據類型,應用場景比較廣泛 動畫 多線程 集合遍歷 網路請求回調 動畫 多線程 集合遍歷 網路請求回調 在多線程和網路也使用得相當頻繁,一般 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...