2013-07-24 24 views
3

我聽起來像一個愚蠢的問題,但似乎我不能發佈adMob GADBannerView。如何在ARC上發佈GADBannerView?

Admob文檔說在使用ARC時不稱爲「發佈」。不用說,你不能調用發佈,因爲它是不允許的,併產生一個錯誤。 我嘗試這樣做:

@property (nonatomic, strong) GADBannerView *adMobView; 

...

[adMobView removeFromSuperview]; 
adMobView.delegate = nil; 
adMobView = nil; 

但沒有任何反應。它變成零,但仍然停留在屏幕上。它應該是一個子類UIView。在最好的情況下,我可以隱藏它,但它仍然收到廣告,顯然停留在內存中。

任何想法?

回答

1

嘗試弱引用

@property (nonatomic, weak) GADBannerView *adMobView; 

弱類似於強只是它不會增加1引用計數它不會成爲該對象的所有者,但只是持有對此的參考。如果對象的引用計數下降到0,即使您可能仍指向此處,它將從內存中釋放。

Refer more here

+0

據分配後釋放,甚至編譯器給我一個警告。我認爲這不是參考計數,但AdMob SDK根本不支持ARC。對象不會從內存中刪除,它必須等待釋放,但在ARC中是非法的。 – Tibidabo