4

UIAlertViewUIKit.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の本当の役割は何ですか?

4

2 に答える 2

8

これは、おそらくPrefix.pchファイルですでに宣言されているためです。これは、デフォルトでは次のようになります。

#ifdef __OBJC__
    #import <Foundation/Foundation.h>
    #import <UIKit/UIKit.h>
#endif
于 2012-05-06T22:22:26.990 に答える
3

UIKit.hクラスなどが定義されているファイルです。

それがなければ、コンパイラは何であるかを知りませんUIAlertView

ただし、あなたの場合、それはおそらくとにかく機能します。これ#import <UIKit/UIKit.h>は通常、プロジェクトのプレフィックスファイルに含まれているためです。このプレフィックスファイルは、デフォルトでソースに含まれています。

于 2012-05-06T22:23:23.210 に答える