Я работаю над пользовательским интерфейсом приложения, и я делаю это программно. Я понимаю идею сохранения циклов и чувствую себя уверенно, что могу ее идентифицировать, но Xcode дает мне предупреждения, когда я пытаюсь избежать цикла сохранения.Управление памятью для пользовательского интерфейса
По существу, я создаю свойство под названием titleLabel
, которое будет иметь мой заголовок, а в viewDidLoad
Я инициализирую его и поместив на свой взгляд. Единственная проблема заключается в том, что я получаю предупреждение Xcode, которое говорит:
Назначение сохраненного объекта слабой переменной; объект будет освобожден после присвоения
Мое определение свойство выглядит следующим образом:
@property (nonatomic, weak) UILabel *titleLabel;
Очевидно, что я мог бы исправить предупреждение Xcode путем изменения weak
к strong
в моем определении свойства, но я считаю, что было бы создать цикл сохранения (из моего понимания), потому что кнопка удерживается на контроллере просмотра, а контроллер просмотра удерживает кнопку.
Может ли кто-нибудь дать мне некоторое представление о том, как это сделать правильно?
Это не будет сохранить цикл, потому что кнопка не имеет ссылку на контроллер представления, однако, если вы хотите сохранить свойство как 'weak' просто назначить использовать локальную переменную, если вы выделить и присвойте его свойству после того, как вы добавили его в свой вид. Локальная переменная будет содержать ссылку до тех пор, пока метод не выйдет, и представление будет содержать сильную ссылку позже. – Paulw11