本文介紹 Objective-C 中的資料型別。由於 Objective-C 衍生自 C 語言,原本 C 語言的資料型別在 Objective-C 仍可繼續沿用。 繼續閱讀
本系列文章介紹 Objective-C 程式設計,會專注在 Objective-C 的核心語法上,而非 macOS 或 iOS 程式設計。
蘋果生態圈在這幾年出現很大的變化。Swift 變成蘋果平台主要的語言。Objective-C 用來維護現有專案及橋接 C 和 C++ 的 API。因應這樣的變化,本系列文章會著重在 Objective-C 在非蘋果平台的應用,即為 GCC 及 GNUstep。但大部分的知識也可用在蘋果平台上。
本文說明如何在 Objective-C 程式中管理記憶體。除了沿用原本 C 語言的記憶體管理模式外,Objective-C 發展出數個新的策略,我們會用範例分別展示其寫法。 繼續閱讀
Objective-C 的特色就是在 C 加上物件系統。此外,Cocoa 或 GNUstep 帶來立即可用的物件庫。在本文中,我們會介紹如何建立和使用現有的 Objective-C 物件。 繼續閱讀
除了使用在 Cocoa 或 GNUstep 中已存在的類別外,我們也可以利用 Objective-C 的物件系統建立新的類別。由於 Objective-C 是 C 的延伸,實作類別時仍然會用到 C 的部分,而類別和物件相關的語法則由 Objective-C 所提供。本文以簡單的範例來看如何在 Objective-C 中建立類別。 繼續閱讀
在預設情形下,Objective-C 類別使用者看得到該類別的屬性,所有的訊息都是公開的。但我們有時候想要隱藏一部分屬性和訊息,僅保持最小量的公開界面。本文展示在 Objective-C 類別中實作私有屬性和私有訊息的方式。 繼續閱讀
在 Objective-C 中,有兩種繼承類別的方式。可將目標類別設為基礎類別 (base class) 或是用 category 擴展特定類別。本文會以範例展示第一種方式。 繼續閱讀
在預設情形下,Objective-C 程式的動態行為不具有型別安全性。本文會利用 Objective-C 的 protocol 建立具有型別安全的多型。如果想要在 Objective-C 中模擬泛型程式,同樣用本文的方式實作即可。 繼續閱讀
除了 C 以外,C++ 是另一個有龐大生態圈的 C 家族語言。如果我們想要使用外部 C++ 函式庫,我們不需要為該函式庫寫 C 的 binding,因為藉由 Objective-C++ 我們可以直接橋接 C++ 函式庫。 繼續閱讀
大多數程式設計者在寫 Objective-C 程式時,都會使用 Cocoa 或 GNUstep 所提供的物件。然而,有時候只是要透過 NSObject 取得基礎物件的特性,這時候 Foundation 物件庫就顯得太肥大了。在本文中,我們介紹不使用 Foundation 來實作 Objective-C 類別的方式。。 繼續閱讀