我遇到以下問題:我得到一個傳遞類的實例,並且想知道此實例的類的名稱。如何得到這個?從實例獲取類的名稱
回答
,如果你想要做的是測試一個對象,看它是否是一個類型某一類
BOOL test = [self isKindOfClass:[SomeClass class]];
謝謝,我會用這個:) – Robin 2010-02-07 17:55:13
Upvoted預測的需要,而不僅僅是回答這個問題。 – 2010-02-07 23:03:21
從類本身
-(NSString *) className
{
return NSStringFromClass([self class]);
}
內如果你正在尋找如何獲取類名在Swift中,您可以使用反射來獲取有關對象的信息。
let tokens = split(reflect(self).summary, { $0 == "." })
if let typeName = tokens.last {
println(typeName)
}
或只是'self.dynamicType' – jbg 2016-01-03 21:08:54
您還可以使用[[self class] description]
只需添加一個類別:
NSObject+Extensions.h
- (NSString *)className;
NSObject+Extensions.m
- (NSString *)className {
return NSStringFromClass(self.class);
}
然後使用下面的代碼:
NSString *className = [[SomeObject new] className];
甚至:
NSString *className = SomeObject.new.className;
要在任何位置使用,請將該類別添加到YourProject.pch文件中。
如果調用Swift類,這將返回一個名稱空間類名。 – Alper 2017-11-14 12:51:21
- 1. javascript獲取類型/實例名稱
- 2. 從名稱實例化類?
- 3. 如何從AWS中的實例獲取實例名稱?
- 4. Javascript ES6 - 從類中獲取實例的名稱
- 5. 如何從類實例的屬性中獲取屬性名稱?
- 6. 從數據源名稱獲取實例名稱
- 7. LISP:從類實例中獲取所有槽名稱
- 8. 按類型名稱從StructureMap獲取實例
- 9. 類實例名稱
- 10. 在類中獲取一個類的實例的名稱
- 11. 通過該類的實例獲取類的名稱
- 12. 獲取ckEditor實例的名稱
- 13. 從名稱檢查類型的實例
- 14. 的Javascript獲取類的實例的名稱
- 15. 使用SQL獲取DB2實例名稱
- 16. 獲取實例名稱作爲NSString
- 17. 在ColdFusion中獲取實例名稱10
- 18. AS3 - 獲取MovieClip實例名稱onClick
- 19. Oracle PL/SQL OOP,獲取實例化的類名稱
- 20. PHP獲取變量的類實例名稱?
- 21. Swift:從類的實例獲取類型
- 22. 獲取實例化類的文件名
- 23. VB.NET:獲取實例的類名
- 24. Python:獲取實例化類的名字?
- 25. AS3類實例名稱
- 26. 從Spine.js的實例獲取模型名稱模型
- 27. CKEDITOR:從Javascript中的多個實例名稱獲取數據
- 28. 如何從其名稱/ ID獲取線程的實例?
- 29. 獲取字段名稱和類型從案例類(含選項)
- 30. 從父類獲取子類名稱
也許用你的問題重寫或接受與問題相符的答案? – 2013-11-07 12:33:36
@JasperBlues:完成,甚至沒有意識到這有多受歡迎! – Robin 2013-11-07 16:05:42