回答
不能屬性類別添加。我認爲這與處理內存的方式有關。將實例變量添加到已存在的對象將改變對象的大小。
多數民衆贊成在不正確的 - 你當然可以添加計算屬性和通過leverging運行時甚至存儲了屬性 –
這是完全正確的,因爲他詢問屬性是否可以添加到一個類別中。他並沒有問,屬性是否可以(明確地或隱含地)在一個類別中合成。 –
那麼你可以添加setter任何getter,但你不能分配內存的權利?除了在方法中... –
你可以很容易地做到這一點 - 如果蘋果這樣做,我不知道。他們經常暴露屬性在類別雖然..
無論如何,如果它對你的設計有意義,繼續!請記住,雖然您可以添加屬性,但不能將變量添加到現有類。
所以無論是已經計算性能,是一種方便的包裝「圍繞現有功能或使用相關的存儲
你可以用相關的對象,這增加變數。雖然這不被推薦。這個鏈接有你需要知道的一切。
http://nshipster.com/associated-objects/
科出來的博客:
關聯的對象應被視爲最後手段的方法,而不是在尋找一個問題的解決方案(真的,類別自己真的不該開始時不在工具鏈的頂部)。
首先我想說Peter Segerblom的回答不正確。但是,Daji-Djan的評論可能是誤導性的。
從一開始:
聲明的屬性是完全的兩個聲明(一個 - 爲只讀屬性)的方法。期。
- 這意味着它是一個聲明。
- 這意味着它指的是方法。
因此,您可以在類別中添加聲明屬性。
但是,如果屬性顯式或隱式(蘋果:自動)合成,它將合成一個伊娃,如果沒有。 這個是不可能的,因爲它會改變實例對象的內存佔用和一個時間點,實例對象已經被分配。
所以你必須做以下的事情之一:
- 已經有伊娃。 (什麼使它有點沒有意義)
- 沒有綜合聲明的屬性。
然而,這可以是用於計算性質是有用的,對於屬性,其值被存儲在另一個對象,屬性,其值被存儲爲關聯的對象,用於...
謝謝,確實比我的評論好聽多了 –
- 1. Objective-C類別和屬性
- 2. Objective C - 在運行時添加屬性
- 3. Objective-C類別返回AppDelegate屬性
- 4. Objective-C的類別屬性不承認
- 5. Objective-C包級別屬性
- 6. Objective-C類別:我可以爲不在我的類別中的方法添加屬性嗎?
- 7. 添加類在Objective-C
- 8. Objective C中各個類的屬性C
- 9. Objective-C屬性的類型
- 10. 如何在Objective-C中將變量添加到類別中?
- 11. 如何在Objective-C中自動添加屬性?
- 12. 如何在Objective-C中將屬性添加到NSObject?
- 13. 在Objective c中添加屬性運行時
- 14. 向PropertyDescriptor添加類別屬性
- 15. objective-c中的屬性屬性之間的區別
- 16. Magento 1.7將屬性添加到類別
- 17. Objective-C屬性
- 18. Objective C屬性
- 19. Objective-c類別
- 20. objective-c屬性 - 無屬性
- 21. 如何在類別中添加私人(在標題中)屬性?
- 22. 類別在C++/CLI中的屬性
- 23. 如何在objective-c中識別一類數據類型bool或char的屬性?
- 24. Objective-C中類別的子類別
- 25. 我可以將ivar(或屬性)添加到objective-c中的現有類中嗎?
- 26. 添加類屬性在Python
- 27. 如何添加DataAnnotations屬性的特定屬性在C#類
- 28. 使用類別添加Objective-C中的塊的方法
- 29. 是否可以向Objective-C元類添加類別?
- 30. Objective-C的類別
[目的-C的可能重複:屬性/實例變量在類別](http://stackoverflow.com/questions/8733104/objective-c-property-instance-variable-in-category) – dan