0

我认为这个问题有一个简单的答案,但我似乎找不到。

我有一个观点,我想保持更新,即使它消失了。它是一个音乐播放器,因此能够回到播放器并查看当前曲目/艺术/进度而无需在视图加载后进行更新会很好。

我对该视图有很强的参考,因此它不会完全重新加载,但我似乎无法对视图之外的任何地方的 UI 元素进行更新。我有一个类正在调用它,但它被完全忽略了:

dispatch_async(dispatch_get_main_queue(), ^{
  [playerViewController updateAlbumArt];
  [playerViewController updateSongTitle];
  [playerViewController updateSongArtist];
});

有没有办法让另一个类的视图在后台更新?类似于如果您的 iPhone 音乐应用程序上的曲目发生变化,您会转到正在播放的屏幕,您会看到当前的歌曲进度/信息,没有任何延迟或加载时间。

4

1 回答 1

0

viewWillAppear 是你的朋友。您可能还应该避免保持对原始视图控制器的强引用,因为这可能会导致保留周期。保持子级对父级的弱引用或考虑创建协议并将父级设置为子级的委托(弱引用)。并让孩子通过委托参考将更改传达给父母。

于 2013-10-26T14:37:54.963 回答