如何创建一个adWhirl单例使用1添加横幅在所有视图控制器



我整个晚上都在阅读,似乎要得到一个adWhirl,并在所有视图控制器中使用相同的添加横幅,我需要创建一个单例awView并在ViewWillLoad &

每个视图的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 .

我缺少什么来实现这个?由于

单例有一个工厂初始化方法(该方法将从+而不是-开始)以确保只创建一个。你可以做其他事情,但是任何不使自己成为单例对象的对象都不会是单例对象。

这里有一个关于创建单例的堆栈溢出问题,可能会有所帮助。这篇文章也会给出一些例子,Matt Gallagher也有一篇很棒的文章。一旦你创建了单例实例你总是会用像
这样的东西引用它[[adWhirlSingleton sharedSingleton] primaryView]
如果你刚刚开始,应用程序委托是一个单例,所以如果你看到使用应用程序委托和它的共享实例的演示代码,你会有一些如何引用一个单例的例子。

最新更新