[Objective-C] 程式設計教學:基本概念
本文假定讀者沒寫過或僅寫過少量 Objective-C 程式,從頭說明相關概念。 繼續閱讀
本系列文章介紹 Objective-C 程式設計,會專注在 Objective-C 的核心語法上,以後有機會再另開 Mac 或 iOS 程式設計的內容。
本文假定讀者沒寫過或僅寫過少量 Objective-C 程式,從頭說明相關概念。 繼續閱讀
正規的 Objective-C 開發環境圍繞在蘋果平台上,在非蘋果的平台上能用的開發工具甚少。雖然可以用 VSCode 寫 Objective-C 程式,VSCode 畢竟是編輯器而非 IDE。本文介紹使用 KDevelop 撰寫 Objective-C 的流程。 繼續閱讀
由於 Objective-C 在非蘋果平台上不是主流語言,不一定每個 GNU/Linux 發行版都會有預編好的 Objective-C 編譯器和 GNUstep 函式庫。因應這項議題,本文介紹以 Docker 編譯 Objective-C 程式的方式。此外,由於 Docker Hub 中所分享的 GNUstep 映像檔都很舊了,本文會從 Ubuntu 基底映像檔重新建立 GNUstep 開發環境。 繼續閱讀
在預設情形下,Objective-C 程式的動態行為不具有型別安全性。本文會利用 Objective-C 的 protocol 建立具有型別安全的多型。如果想要在 Objective-C 中模擬泛型程式,同樣用本文的方式實作即可。 繼續閱讀
在 Objective-C 中,有兩種繼承類別的方式。可將目標類別設為基礎類別 (base class) 或是用 category 擴展特定類別。本文會以範例展示第一種方式。 繼續閱讀
在預設情形下,Objective-C 類別使用者看得到該類別的屬性,所有的訊息都是公開的。但我們有時候想要隱藏一部分屬性和訊息,僅保持最小量的公開界面。本文展示在 Objective-C 類別中實作私有屬性和私有訊息的方式。 繼續閱讀
大多數程式設計者在寫 Objective-C 程式時,都會使用 Cocoa 或 GNUstep 所提供的物件。然而,有時候只是要透過 NSObject 取得基礎物件的特性,這時候 Foundation 物件庫就顯得太肥大了。在本文中,我們介紹不使用 Foundation 來實作 Objective-C 類別的方式。。 繼續閱讀
除了 C 以外,C++ 是另一個有龐大生態圈的 C 家族語言。如果我們想要使用外部 C++ 函式庫,我們不需要為該函式庫寫 C 的 binding,因為藉由 Objective-C++ 我們可以直接橋接 C++ 函式庫。 繼續閱讀
除了使用在 Cocoa 或 GNUstep 中已存在的類別外,我們也可以利用 Objective-C 的物件系統建立新的類別。由於 Objective-C 是 C 的延伸,實作類別時仍然會用到 C 的部分,而類別和物件相關的語法則由 Objective-C 所提供。本文以簡單的範例來看如何在 Objective-C 中建立類別。 繼續閱讀
本文說明如何在 Objective-C 程式中管理記憶體。除了沿用原本 C 語言的記憶體管理模式外,Objective-C 發展出數個新的策略,我們會用範例分別展示其寫法。 繼續閱讀