0

У меня есть класс местоположения в моем проекте, который вызывает методы в разных контроллерах представлений. Я определил класс в каждом контроллере представления, как сам, который работает нормально, но когда я нажимаю и от других контроллеров зрения он начинает вести себя нерационально и вызывает метод в неверном контроллер вызывает все виды проблемДелегаты в контроллере навигации

Мое местоположение класса правильно настроен, и я считаю, что я правильно их назвал, но я, очевидно, пропустил что-то вроде освобождения делегата, когда я закончил с ним?

Это то, что в каждом из моих контроллеров отображения

.h

#import "AHLocationClass.h" 

AHLocationClass *location; 
@interface AHSelectionController : UIViewController <AHLocationDelegate> { 

.m

location = [[AHLocationClass alloc] init]; 
location.delegate = self; 

Обратите внимание, я знаю, что с помощью уведомления будет исправить это, но в моем проекте, используя этот метод, вы быстро начнете беспорядочно

+1

Является ли переменная 'location' глобальной? Почему вы не заявляете это как собственность? – Eimantas

+0

Нравится это - @property (nonatomic) AHLocationClass * location; ? –

+1

Да, вот так. Кроме того, я бы добавил «сильный», чтобы определить тип ссылки на память. – Eimantas

ответ

0

Оказывается, что объявление в глобальном масштабе было моей проблемой, объявив его как свойство, зафиксировало эту несогласованность.

@property (nonatomic, strong) AHLocationClass *location;