Отражение может быть и было реализовано в C++ прежде.
Это не собственная функция C++, потому что это имеет большую стоимость (память и скорость), что should'nt быть установленным по умолчанию языком - язык является "максимальной производительностью, по умолчанию" ориентированной.
, Поскольку Вы не должны платить за то, в чем Вы не нуждаетесь, и поскольку ваши говорят, что себя этому было нужно больше в редакторах, чем в других приложениях, затем это должно быть реализовано только там, где Вам нужен он, и не "вынужденные" ко всему коду (Вам не нужно отражение обо всех данных, с которыми Вы будете работать в редакторе или другом подобном приложении).
Попробуйте следующее:
- (void)dealloc {
NSLog(@"_deallocing: %@", self);
[super dealloc];
}
Это выведет на консоль немного больше информации об объекте. В зависимости от класса вы получите адрес памяти и имя класса или что-то более подробное. Если вы хотите дать что-то более подробное в своих классах, переопределите этот метод и верните все, что хотите:
-(NSString *)description {
return @"Something useful about this object";
}
Если вам конкретно нужен адрес памяти объекта (который, я полагаю, можно рассматривать как «идентификатор», если он не реализован в вашем классе), вы можете использовать это:
NSLog(@"deallocing %p", self);
Это может быть весьма полезно если у вас есть более одного экземпляра определенного класса и вы пытаетесь определить, какой из них освобождается, когда.