我整个晚上都在阅读,似乎要让adWhirl广告在所有视图控制器上使用相同的添加横幅,我需要创建一个单独的awView并在ViewWillLoad&每个View的ViewWillUnload。
我无法让这个工作。我发现了大量的AdWhirl教程,但没有创建单例。
我目前有这个adWhirlSingleton.h
#import <Foundation/Foundation.h>
#import "AdWhirlDelegateProtocol.h"
#import "AdWhirlView.h"
@interface adWhirlSingleton : NSObject <AdWhirlDelegate> {
AdWhirlView *awView;
UIViewController *primaryView;
}
@property (strong, nonatomic) AdWhirlView *awView;
@property (strong, nonatomic) UIViewController *primaryView;
@end
adWhirlSingleton.m
#import "adWhirlSingleton.h"
@implementation adWhirlSingleton
@synthesize primaryView, awView;
-(NSString *)adWhirlApplicationKey
{
return @"my key here";
}
-(UIViewController *)viewControllerForPresentingModalView
{
return primaryView;
}
@end
我将adWhirlSingleton导入到我的视图中,但是当我输入adWhirlSingleton.primaryView = self时,我无法识别primaryView。
实现这一点我缺少什么? 感谢
答案 0 :(得分:1)
单身人士有一个工厂初始化方法(该方法将以+
而不是-
开头),以确保只创建一个。你可能还有其他事情发生,但任何不能成为单身人士的对象都不会是单身人士。
这是stack overflow question about creating singletons可能会有所帮助。这one will also give examples还有一个很好的Matt Gallagher post about them。创建单例实例后,您将始终使用诸如
的内容来引用它
[[adWhirlSingleton sharedSingleton] primaryView]
如果您刚刚开始,Application Delegate是一个单例,所以如果您看到使用Application Delegate及其共享实例的演示代码,您将有一些如何引用单例的示例。