假设我有一个类Foo和这个类的实例myFoo:
Foo *myFoo;
是否有任何方法“dispalyFooObjectName”可以显示对象的名称,例如:
NSLog(@"i was called from %s", [myFoo dispalyFooObjectName]);
,结果将是:
i was called from myFoo
答案 0 :(得分:6)
在大多数编程语言中,对象没有名称。仅仅因为某个变量myFoo
引用了您的对象,并不意味着您的对象被“调用”myFoo
。
在大多数基于C的语言中,变量名称根本不在最终的可执行文件中表示(外部符号的名称除外)。
所以简短的回答是没有办法获得这些信息。
如果您需要某个“名称”,则应在name
类型中添加Foo
字段。
答案 1 :(得分:-1)
你可以试试这个。覆盖 - (NSstring *)这样的描述方法
- (NSString*)description {
return [NSString stringWithFormat:@"I'm called from foo"];//You can also print object's properties description here.
}
并像这样使用
NSLog(@"my Foo object %@",[myFoo description]);