objective-c – 如何检查目标c对象?

objective-c – 如何检查目标c对象?,第1张

概述在ruby中,我可以从一个物体中去了解细节.我如何在目标c中做类似的事情?谢谢. 如果您只是想要打印的东西,可以使用之前描述的描述. 我自己不是Ruby人,但如果我理解正确的话.在Ruby中,我会打印一个对象的所有实例变量.这不是Cocoa内置的东西.如果需要,可以使用运行时系统查询此信息. 这是我放在一起的快速类别: #import <objc/objc-class.h>@interface 在ruby中,我可以从一个物体中去了解细节.我如何在目标c中做类似的事情?谢谢.解决方法 如果您只是想要打印的东西,可以使用之前描述的描述.

我自己不是Ruby人,但如果我理解正确的话.在Ruby中,我会打印一个对象的所有实例变量.这不是Cocoa内置的东西.如果需要,可以使用运行时系统查询此信息.

这是我放在一起的快速类别:

#import <objc/objc-class.h>@interface NSObject (InspectAsInRuby)- (Nsstring *) inspect;@end@implementation  NSObject (InspectAsInRuby)- (Nsstring *) inspect;{    NSMutableString *result = [NSMutableString stringWithFormat: @"<%@:%p",NsstringFromClass( [self class] ),self ];    unsigned ivarCount = 0;    Ivar *ivarList = class_copyIvarList( [self class],&ivarCount );    for (unsigned i = 0; i < ivarCount; i++) {        Nsstring *varname = [Nsstring stringWithUTF8String: ivar_getname( ivarList[i] )];        [result appendFormat: @" %@=%@",varname,[self valueForKey: varname]];    }    [result appendString: @">"];    free( ivarList );    return result;}@end
总结

以上是内存溢出为你收集整理的objective-c – 如何检查目标c对象?全部内容,希望文章能够帮你解决objective-c – 如何检查目标c对象?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1236295.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存