感谢Lock a NSMutableArray of an object but not the rest of my object when using GCD我有一个用户对象,它在 init 时通过 gcd 填充位置数组,希望当我们以模态方式到达 LocationViewController 时,位置存在user.locations
(用户通过视图控制器传递),如果他们不在那里,那么我只需在选择器中显示“正在加载...”。
理想情况下,我希望在dispatch_sync
方法中从用户的 gcd 中强制刷新。我可以向 LocationViewController 添加一个方法来刷新选择器等,但我不确定如何安全地访问它。
我的第一个想法是在 LocationViewController 中,如果位置不存在(即 nil),那么在用户中设置对此 LocationViewController 的引用。如果 locCont 不是 nil ,那么我可以在其中dispatch_sync
调用该方法。[locCont mymethod]
但我不确定如何在用户类中设置属性?
@property (strong, nonatomic) LocationsViewController * locCont;
让我担心的是用户可以随时注销并返回根视图。然后我会设置
user.locCont = nil
ARC会很好地分类任何宿醉记忆吗?
我的另一个担忧是,如果他们不选择设置位置并在以后查看会发生什么。我想我可以通过user.locCont
在prepareforsegue
.
如果用户到达那里,是否有更好的方法让 LocationsViewController 刷新?