1
我曾嘗試在我的應用程序委託中使用單例類,但是我一直無法獲得該功能。我還檢查了iAdSuite示例(尤其是containerBanner示例,因爲它似乎是最相對的),但我無法弄清楚。如果有更好的方法來完成這個,而不使用單身課程,你可以指向正確的方向,我真的很感激它。我的一些單身課程代碼如下。謝謝!如何在許多視圖控制器中創建一個iAd橫幅共享實例?
@interface App Delegate
@property (assign) iAdController *iadc;
+ (AppDelegate*) sharedApplication;
- (iAdController*)sharedAd;
@end
@implementation AppDelegate
@synthesize iadc;
+ (AppDelegate*) sharedApplication
{
return [[UIApplication sharedApplication] delegate];
}
-(iAdController*)sharedAd
{
if(iadc==nil){
iadc=[iAdController new];
}
return iadc;
}
@interface ViewController
iAdController*iadc=[[AppDelegate sharedApplication] sharedAd];
//here i get an error saying, "initializer element is not a compile-time constant.
所有東西都輸入正確。如果還有什麼我應該發佈讓我知道。
在AppDelegate的空間閱讀編輯,因爲我missunderstood你 – Pochi 2012-08-10 06:07:13
我相信你的編輯是我最初嘗試的,它給了我一個錯誤,說「初始化元素不是編譯時常量」。任何想法如何解決這個問題,並使其工作?是否有另一種方法可以在整個視圖控制器中共享一個iAdbanner的單個實例,這將更容易實現?感謝您的幫助順便說一句:) – Dave123 2012-08-10 06:30:11
關於編輯的重要事情是,它應該被放置在你的viewdidload或你想要在你想使用它的viewcontroller中使用它。你不能把它放在@interface之下。例如在viewcontroller.m文件中,必須有一個名爲viewdidload的方法。把它放在那裏,它會工作。如果你想讓它可用於整個類,你必須將指針放在實例變量中,並將其初始化爲viewdidload – Pochi 2012-08-10 06:58:28