从内部获取IBOutlet变量名



我在标头中声明了一个UIImageViewASImageViewUIImageView的子类):
@property (strong, nonatomic) IBOutlet ASImageView *imgView;
在我的子类ASImageView中,我有一些方法,为了便于访问,我想知道变量的名称——在本例中是imgView
有办法吗?

在大多数编程语言中,对象都没有名称。仅仅因为某个变量imgView引用了您的对象,并不意味着您的对象被"称为"imgView

在大多数基于C的语言中,变量名根本不会在最终的可执行文件中表示(外部符号的名称除外)。

因此,简单的答案是,没有办法获得这些信息。。

Variables are identify by their addresses not by names. So XCode or even any plate form don't know the names of variables. Variables name are for you to identify the object as you can't identify the address.

您只能获得objectclass
示例:

BOOL result = [imgView isMemberOfClass:[ASImageView class]];

isMemberOfClass:返回一个布尔值,该值指示接收器是否是给定类的实例。

BOOL result = [imgView isKindOfClass:[ASImageView class]];

isKindOfClass:返回一个布尔值,该值指示接收器是给定类的实例还是从该类继承的任何类的实例。

最新更新