2013-07-24 3 views
3

Я походил на глупый вопрос, но, похоже, я не могу выпустить adMob GADBannerView.Как выпустить GADBannerView на ARC?

Документация 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

Смежные вопросы