Самостоятельное повторное использование объявленной сильной собственности - PullRequest
0 голосов
/ 14 января 2012

Я создал класс (MyClass) и мне нужно несколько его экземпляров, каждый из которых будет содержать несколько таймеров, текстовых полей и меток.Из-за ARC цель освобождалась, когда таймеры были аннулированы, но я иногда делаю их недействительными, чтобы перезапустить их, поэтому я не могу позволить им освободить их.Поэтому я пошел к своему AppDelegate (который является классом, который создает экземпляры MyClass) и объявил MyClass как сильное свойство.@property (strong) MyClass *myInstance; Это частично работает, проблема в том, что всякий раз, когда я создаю другой экземпляр, предыдущий экземпляр теряет свою ссылку, и если я пытаюсь перезапустить NSTimer в старом экземпляре, я получаю BAD ACCESS.Если я перезапущу таймер last , проблем не будет.

Я считаю, что поскольку myInstance является свойством, всякий раз, когда я создаю новое, AppDelegate переписывает старый, теряя старые ссылки.Мне нужно либо иметь возможность сохранять сильное свойство, но каким-то образом заставить его работать независимо для каждого экземпляра, либо найти другой способ сделать сильную ссылку на myInstance без необходимости быть свойством.

1 Ответ

3 голосов
/ 14 января 2012

Поместите ваши экземпляры в Контейнер, такой как NSSet или NSArray.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...