有什么办法可以#import
在.m文件而不是.h文件中?问题是,我需要指定视图控制器ADBannerViewDelegate
在.h文件中,并且不能识别是否iAd
将其导入到.m文件中。有什么办法解决这个问题,还是我#import
iAd
每次#import
查看控制器都必须坚持?
是的。您可以将所有iAd代码放入.m
文件中;您只需要使用类扩展名(非常常见)。类扩展允许您从.m
文件中声明变量,包括委托,创建属性等。
类扩展名位于语句顶部.m
文件的顶部附近@implementation
。
例如:
//.h
#import <UIKit/UIKit.h>
@interface HomeViewController : UIViewController
@end
//.m
#import "HomeViewController.h"
#import <iAd/iAd.h>
//The following is the class extension
@interface HomeViewController () <ADBannerViewDelegate> //add any delegates here {
IBOutlet ADBannerView *ad; //A reference to the ad
BOOL someBOOL; //You can put any variables here
}
- (void)someMethod:(id)sender;
@property (nonatomic, strong) UIView *someView;
@end
注意:类扩展名必须以结尾@end
,然后常规类主体如下:@implementation HomeViewController...
苹果的文档在进一步解释类扩展方面做得很好。在这里查看它们。
同样值得注意的是,随项目自动创建了一个特殊文件,称为“预编译头”。您可以在此文件中导入要在整个项目中使用的其他类,这样就不必在每个类中手动导入它们。
以下是PCH的示例:
#import <Availability.h>
#ifndef __IPHONE_5_0
#warning "This project uses features only available in iOS SDK 5.0 and later."
#endif
#ifdef __OBJC__
#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
#import <iAd/iAd.h>
//Put any other classes here and you can use them from any file
#endif
如果查看项目文件,则在“支持文件”下,您应该看到 You-Project-Name-Prefix.pch
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句