flipsidenavigationbar
объявлено как тип свойства "сохранить"? Мое предположение относительно того, что происходит, заключается в следующем.
Метод точечного синтаксиса, который вы написали, эквивалентен
[self setFlipsidenavigationbar:aNavigationBar];
и этот вызов метода , вероятно , сохраняя объект aNavigationBar
при его установке. Когда вы звоните
flipsidenavigationbar = aNavigationBar;
вы не сохраняете его, скорее всего, оно освобождается раньше, чем вы этого хотите, и вызывает ваш сбой.
Вы можете прочитать больше о точечный синтаксис в Obj-C, это, вероятно, поможет вам с такими проблемами в будущем.
На двух других постерах это сказано лучше, но очень важно помнить, что эти две строки:
self.myViewA = myViewB;
myViewA = myViewB;
Потенциал быть полностью не связанным. Точечный синтаксис является лишь сокращением для вызова метода, и у вас есть возможность заставить этот вызов метода делать что угодно. Важно, чтобы вместо правила для свойств, которые вы упомянули в своем комментарии,
я понимаю, что когда нужно
установить / инициализировать свойство, которое вам нужно
поставить там «я». но когда вы говорите
это сделать что-то (в этом случае
нажми) тебе не нужно я.
вы должны точно понимать, что происходит, чтобы вы знали, каковы последствия использования вашего точечного синтаксиса. Это сбивает с толку, я знаю, но на самом деле это не сложно, и все довольно быстро это понимают. Удачи!