クラスがサブクラス化されている場合にサブクラスが検出されるように、静的メソッド内から呼び出し元のクラスを検出するにはどうすればよいですか? (MakeInstance 内のコメントを参照)
@interface Widget : NSObject
+ (id) MakeInstance;
@end
@implementation Widget
+ (id) MakeInstance{
Class klass = //How do I get this?
id instance = [[klass alloc] init];
return instance;
}
@end
@interface UberWidget : Widget
//stuff
@end
@implementation UberWidget
//Stuff that does not involve re-defining MakeInstance
@end
//Somewhere in the program
UberWidget* my_widget = [UberWidget MakeInstance];