>> It is weak because if it were strong, a retain cycle would ensueTo reiterate:1. It is a bug to make it weak (because that leads to a crash, which is the horse you rode in on).2. It is a bug to make it strong without a mechanism to nil out the relationship when the window is closing (because that leads to a retain cycle).3. A better design would be to make it neither strong nor weak. I mean, remove knowledge of the window controller from the plugin system. agent.weatherProperties sounds like pure data model to me, so the MVC relationship you want is model.agent.weatherProperties, not controller.agent.weatherProperties.Another way of putting is, instead of the window controller passing self into your plugin system, it should pass self.model, where model is a custom object that has all of the properties needed by plugins that are currently accessed via the window controller.Although controller vs. model may seem like a distinction without a difference, the point is that exposing the wi
Topic:
UI Frameworks
SubTopic:
AppKit
Tags: