我想了解Objective-C中的Class
類型。我可以問一下Class類型和NSObject類型有什麼不同?這聽起來像班級類型做類似NSObject
正確?類類型和NSObject類型
0
A
回答
1
否NSObject
與Class
不一樣。
在Objective C中,類是對象。類似NSObject
的類在Class
類型的實例中。說NSObject
是Class
類型是正確的,就像你會說NSObject
的實例是NSObject
類型的實例。
Class
也是一個對象,但它的類型是真正不適合初學者的元類。
2
我相信這已被問了好幾次......但無論如何我找不到任何舊的實例。
與C++類語言不同,類是OBJC中實際的常規對象實例。 當您致電[NSObject class]
時,它會返回一個包含類方法和額外信息的活動對象。這些都是由編譯器合成的,這實際上提供了所有與類相關的功能。
Class
是這些類對象的類型。
還有一件事。因爲Class
對象是對象,所以它們也具有類對象,這些對象稱爲元類。在這裏看到更多的細節: http://www.cocoawithlove.com/2010/01/what-is-meta-class-in-objective-c.html
此外,你可能會感到困惑,因爲可可的大多數類型使用NSObject
作爲根類。但這僅僅是一個約定,實際上一個類不必繼承NSObject
。
1
一個類是一個模板,例如,人類 對象是一個類的實例,例如, bob the human
NSObject是大多數Objective-C類的根類(例如NSTextField,NSButton等) 所以,NSButton繼承了NSObject的屬性,也是一個類(一個子類)。如果你創建一個按鈕,該按鈕現在是一個類型爲NSButton(class)的實例(對象),它繼承自:NSControl:NSView:NSResponder:NSObject,按順序遞減。
相關問題
- 1. 無法指定String類型的值:NSObject的String類型:NSObject的
- 2. 類型類和子類型
- 3. Int類型和scala.Int類型
- 4. 類型unicode和類型str
- 5. 類型類和相關類型
- 6. 類型類和GADTs
- 7. PureScript和類型類
- 8. AS3 - 類型和類
- 9. 泛型類型和類型不匹配
- 10. 泛型類型參數和類型
- 11. 類型類和子類
- 12. NSObject設置爲特定類型
- 13. addObjects到我的模型(NSObject類)NSMutableDictionary
- 14. 類型「NSObject的」沒有成員「複製」
- 15. 從類型「類型」
- 16. 泛型類型類
- 17. SML類型 - >類型 - >類型
- 18. Haskell類型繼承和參數類型類型
- 19. 球拍(和類型球拍)是強類型還是輕類型?
- 20. 構造類型,有界類型和無界類型的含義?
- 21. 從類型參數和類型成員聚集類型信息
- 22. Scala:類型推理和子類型/高級類型
- 23. '只支持原始類型,枚舉類型和實體類型'
- 24. 使用強類型枚舉建模類型和子類型?
- 25. Obj-C,Property'navigationController'找不到類型的對象,從NSObject類?
- 26. 無法指定類型的NSObject的價值 - ()類名鍵入uicollectionviewdelegate
- 27. KVO - Cocoa回調'類'與'NSObject *'中不兼容的指針類型
- 28. 強制類型和內容類型
- 29. Hiberate映射類型和保存類型
- 30. 聯合類型和交集類型