如何创建adWhirl Singleton以使用1在所有视图控制器上添加横幅

时间:2011-12-31 20:18:31

标签: iphone ios xcode adwhirl

我整个晚上都在阅读,似乎要让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。

实现这一点我缺少什么? 感谢

1 个答案:

答案 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及其共享实例的演示代码,您将有一些如何引用单例的示例。