gpt4 book ai didi

objective-c - 为什么去掉 UIKit.h 的导入后还能引用 UIKit 的类?

转载 作者:太空狗 更新时间:2023-10-30 03:58:20 25 4
gpt4 key购买 nike

我一直在观看一个视频,该视频指出 UIAlertView 仅在导入 UIKit.h 时才有效。但是,如果我在头文件中注释掉 import 语句:

//#import <UIKit/UIKit.h>
@interface ViewController : UIViewController
@end

当我将它添加到实现文件时,警报仍然有效:

- (void)viewDidLoad
{
[super viewDidLoad];
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Title" message:@"Message" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
[alert show];
}

请解释为什么这有效? UIKit 的真正作用是什么?

最佳答案

这是因为它可能已经在您的 Prefix.pch 文件中声明,默认情况下看起来像这样:

#ifdef __OBJC__
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#endif

关于objective-c - 为什么去掉 UIKit.h 的导入后还能引用 UIKit 的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10474772/

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