NSArray 或 NSSet 中的元素都是 NSObject 的对象子类,Delphi 中要获取 Object-C 中对象的类型名称,我们可以通过引用 Macapi.ObjCRuntime 单元,然后调用 object_getClass 获取到元素的类型指针,并将这个指针传递给 class_getName 函数,就可以得到它的类型名称了。
简单的封装一个函数:
function OCObjectTypeName(AObj:Pointer):String; begin Result:=class_getName(object_getClass(AObj)); end;