У вас есть проблема с сохранением / освобождением где-то в вашем коде. Вы говорите, что это работает в одном представлении, но не в другом - это заставляет меня поверить, что вы храните этот экземпляр вне ваших контроллеров представления. Проблема message sent to deallocated instance
связана с тем, что вы пытаетесь использовать переменную, которая была удалена из памяти где-то в коде до появления этой ошибки. Вы должны убедиться, что контроллер представления, который создает этот объект, правильно retain
его, чтобы он не был освобожден, прежде чем вам нужно будет использовать его снова с:
GADBannerView *_adMobBannerView;
@property(nonatomic,retain) GADBannerView *adMobBannerView; //view controller retains object when using self.adMobBannerView = bla
Звучит так, что вам, возможно, придется освежить свою документацию по управлению памятью , но суть в том, что где бы вы ни звонили alloc
, вы управляете этой памятью и вам нужно позвонить release
когда вы закончите с этим. Если вам нужно, чтобы переменная задерживалась дольше, чем объект autorelease
d, то вам нужно создать переменную экземпляра и retain
объект самостоятельно со свойствами ivar @property (nonatomic, retain)
.