在我的上一篇文章中,主要列出了runtime的一些方法和特性,這一篇文章着重講一講實作
成員變量、屬性
基礎資料類型
Ivar
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIn5GcuQGO3EGM3YWM5ADZhRjYmZzMmZTZkVTMhJjNhJzYxADOfdWbp9CXt92Yu4GZjlGbh5SZslmZxl3Lc9CX6MHc0RHaiojIsJye.png)
Ivar是表示執行個體變量的類型,其實際是一個指向objc_ivar結構體的指針
objc_property_t
objc_property_t是表示Objective-C聲明的屬性的類型,其實際是指向objc_property結構體的指針
objc_property_attribute_t
objc_property_attribute_t定義了屬性的特性(attribute)
成員變量、屬性的操作方法
成員變量
成員變量操作包含以下函數:
擷取成員變量名
擷取成員變量類型編碼
ptrdiff_t ivar_getOffset ( Ivar v );
擷取屬性名
擷取屬性特性描述字元串
擷取屬性中指定的特性
擷取屬性的特性清單
property_copyAttributeValue函數,傳回的char *在使用完後需要調用free()釋放。
property_copyAttributeList函數,傳回值在使用完後需要調用free()釋放。