簡體   English   中英

Objective-C獲取子類

[英]Objective-C get subclass

假設我有一個UIViewController子類,我們將其稱為MyAppBaseViewController:

- (void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:animated];
    NSString *subclassName = ...;
    NSLog(@"%@ did appear", subclassName);
}

我如何在不向實現中添加任何屬性或類似內容的情況下從父級獲取子類名稱,而不是當前類的名稱?

你很困惑。

對象是某些子類的實例。 它可以並且經常從一長串父類繼承。

該對象仍然是特定的類。

如果您使用

NSString *myClassName = [NSString stringWithFormat: @"%s", class_getName([self class)];

它將為您提供當前對象的類的名稱。 不是父類。 當前對象。

編輯:

正如其他海報指出的那樣,函數NSStringFromClass更加容易。 改用它:

NSString *myClassName = NSStringFromClass([self class]);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM