gpt4 book ai didi

objective-c - 如何禁用前向类编译器警告(未记录的类)

转载 作者:行者123 更新时间:2023-12-01 14:36:57 24 4
gpt4 key购买 nike

我目前正在编写一个 iPhone 应用程序,该应用程序使用 UITabBarController 和超过 5 个选项卡栏项目。因此,会自动生成一个“更多”选项卡(就像在 YouTube 应用程序中一样)。我发现对应的 View Controller 类是UIMoreListController ,但我没有任何相应的 .h 文件。所以,我的代码如下所示:

@class UIMoreListController; // can't use #import since .h file is missing

@implementation SomeUINavigationControllerDelegate

- (void)navigationController:(UINavigationController *)navigationController
willShowViewController:(UIViewController *)viewController
animated:(BOOL)animated
{
if ([viewController isKindOfClass:[UIMoreListController class]])
... // do something if "more" view is active

这就像一个魅力。但是,编译器一直给我

warning: receiver 'UIMoreListController' is a forward class and corresponding @interface may not exist

是否有一种巧妙的方法来消除此警告(并且仅针对此特定警告)?同样,我不能使用 #import因为没有可用的 .h 文件。

最佳答案

如果您只是想检查 UIMoreListController 类,您可以使用 objc-api 访问类变量。

if ([viewController isKindOfClass:NSClassFromString(@"UIMoreListController")])

那么您就不需要#import@class 声明了。

关于objective-c - 如何禁用前向类编译器警告(未记录的类),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/424899/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com