从里面获取IBOutlet变量名称

时间:2013-08-14 10:07:13

标签: objective-c

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

2 个答案:

答案 0 :(得分:0)

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

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

所以简短的回答是没有办法获得这些信息..

答案 1 :(得分:0)

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.

您只能获得object class 示例:

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

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

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

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