我在學習Objective-C,我並不真正瞭解實例和對象之間的區別。他們通常使用這兩個術語。另外,爲什麼將alloc方法應用於該類,並將init方法應用於該對象?Obj-C對象和實例之間的區別?
1
A
回答
7
一個實例與一個對象相同,因此爲什麼兩個術語都被使用並且可以互換使用 - 一個NSString
或NSString
對象的實例。
+alloc
是一個類方法,負責分配存儲新實例/對象所需的內存,並清零該內存。它返回一個新創建的實例/對象。另一方面,
-init
負責進一步初始化該新實例;例如,將默認值分配給實例變量。由於-init
在現有實例上運行,因此它是一種實例方法。
在某些情況下,-init
可能會返回與+alloc
創建的實例不同的實例。
+1
請注意,類也是其元類的實例,而元類也是對象。 – 2011-06-29 22:32:57
相關問題
- 1. -all_load和-ObjC之間的區別
- 2. 實例和對象之間的功能區別是什麼?
- 3. 「類型」,「實例」,「類」和「對象」概念之間的區別
- 4. 實例和對象之間有什麼區別?
- 5. @和@@實例之間的區別
- 6. Singleton對象和sessionfactory單例對象之間有什麼區別
- 7. 對象和*之間的區別?
- 8. 對象和散列之間的區別?
- 9. 對象和字典之間的區別?
- 10. 對象之間的區別(javascript和jquery)
- 11. 對象和實例有什麼區別?
- 12. 實例和類的對象之間的基本區別是什麼?
- 13. 這些shared_ptr實例之間的區別?
- 14. 使用模塊模式和實例化新對象之間的區別
- 15. DDD:實體和值對象之間的區別是什麼?
- 16. null ==對象和對象== null之間的區別
- 17. 面向對象和非面向對象之間的區別javascript
- 18. 對象和字符串對象之間的區別是什麼
- 19. 對象和變量對象之間的區別
- 20. 子對象和包含對象之間的區別
- 21. 對象引用聲明和對象構造之間的區別?
- 22. mysqltransaction對象(mysql)和transactionscope對象(asp.net)之間的區別
- 23. jvisualvm活動對象和分配對象之間的區別
- 24. iPhone [(id)對象類]和object_getClassName(id對象)之間的區別
- 25. Kotlin:對象和同伴對象之間的區別
- 26. 可變對象和不可變對象之間的區別
- 27. 對象和非對象類型之間的區別。
- 28. Django的,_base_manager之間的區別對象
- 29. 函數對象之間的區別R
- 30. _EPROCESS對象和_KPROCESS對象之間有什麼區別
相關:[類方法vs實例方法](http://stackoverflow.com/questions/2032538/i-need-a-good-analogy-to-make-sense-of-class-methods-vs-實例方法) – PengOne