1
A
回答
2
如果你的類需要存儲值,它需要在內存中的某個位置存儲這些數據。一個實例變量爲你的類需要的數據保留內存。
讓我們假設你想爲一個字符串或int
變量添加一個位置。您可以使用實例變量爲對象的生命週期保留該內存。每個對象都會爲其變量接收唯一的內存。
這很像一個C struct
:
struct t_something {
int a; int b;
};
的struct
聲明瞭兩個字段(A和B)。每個值都可以被讀取和寫入,而且其大小足以容納其字段。
+0
謝謝,這有助於。 – Mattbettinson 2012-04-14 22:11:26
+0
@Mattbettinson不客氣 – justin 2012-04-14 23:16:52
0
有大量的信息在這裏: iPhone ivar naming convention
的另一件事要記住:
使用實例變量,而不是在你的類屬性繞過的財產實施任何副作用(保留,複製等),通常會自動發生。
如果您寫了一個您希望繞過的自定義屬性實現,這可能尤其重要。
0
相關問題
- 1. 什麼是實例變量?
- 2. 什麼是變量的一個實例?
- 3. 什麼是isa實例變量?
- 4. Java - 什麼是實例變量?
- 5. 實例變量是什麼?他們爲什麼如此重要?
- 6. Bash變量$ _的用例是什麼?
- 7. @synthesized實例變量的可見性是什麼?
- 8. 在Python中,實例變量前面的下劃線是什麼?
- 9. 什麼是實例變量的正確命名約定?
- 10. 實例變量緩存的名稱是什麼?
- 11. 爲什麼實例變量未定義?
- 12. Android,實例化實例變量,什麼線程?
- 13. 目標C類別的實例變量
- 14. 變量變量的實際用法是什麼?
- 15. 實例變量未初始化。這是爲什麼?
- 16. Python:爲什麼不能描述符是實例變量?
- 17. 什麼是使用靜態和實例變量記錄
- 18. 爲什麼在這裏需要'self'而不是實例變量?
- 19. 爲什麼在Session_Controller中使用局部變量而不是實例變量
- 20. 爲什麼我的視圖中的Rails實例變量爲零?
- 21. 這段代碼中的臨時向量實例的目的是什麼?
- 22. 什麼是新的變量
- 23. 什麼是vim的@@變量?
- 24. java什麼是聲明類的實例的目的
- 25. 'nameList'變量是一個實例變量還是類變量?爲什麼不包含在「同步(本){}」語句?
- 26. 什麼是Capistrano酒店的「應用程序」變量的目的是什麼?
- 27. 如何告訴PhPpstorm返回的變量是什麼東西的實例?
- 28. 非靜態類實例中的c#靜態變量的行爲是什麼?
- 29. Java中的枚舉類型實例變量的默認值是什麼?
- 30. Rails控制器中的實例變量的作用域是什麼?
看到這裏:http://stackoverflow.com/questions/2114587/iphone-ivar-naming-convention - 雖然看起來有點不同於你的問題。我也想知道爲什麼有些人同時也聲明瞭一個iVar,當你可以完美地使用該類中的屬性時... – allaire 2012-04-14 21:30:19
對@ @ synthesize使用'=',可以讓你創建屬性名稱,與實際的iVar相同。在你的例子中,作者使用在私有變量之前放置'_'的樣式。然而,調用'[myClass _iVar]'看起來不如'[myClass iVar]'好,所以把'@synthesize _dataController = dataController'允許'_dataController'作爲其他類的'dataController'來訪問,使它成爲一個更可讀性更強。 – wquist 2012-04-14 22:13:01