【问题标题】:Where should I load a UISwitch's state?我应该在哪里加载 UISwitch 的状态?
【发布时间】:2011-09-17 05:29:27
【问题描述】:

我目前正在尝试在我的视图中从 NSUserDefaults 加载 UISwitch 的状态。这些 UISwitch 位于 cellforrowatindexpath 中加载的自定义 tableview 单元格中。如果我把我的代码加载到 cellforrow 方法中的开关状态,这不会导致视图在启动时有点滞后,因为该方法被调用了几次并且我只需要执行一次此代码?

目前,我在 cellforrowatindexpath 委托方法完成后加载它,这对我来说是在 viewdidload 方法中。但问题是,它看起来不太好,因为开关卡入到位,而用户可以看到我不想要的开关。如果我将代码放入 viewwillappear 方法中,则会导致开关全部关闭,因为它们尚未创建。

那么我应该在什么地方从 NSUserDefaults 加载开关状态,这样它看起来不错并且仍然有效?

谢谢!

【问题讨论】:

  • 你试过 viewDidAppear 吗?
  • 重读我的第二段我解释了为什么我不能

标签: ios performance tableview uiswitch


【解决方案1】:

您可以在之前的视图中加载 NSUserDefaults 的数据(如果有的话),而不仅仅是通过 NSArray (f.e.) 提供此参数,并在配置单元格后设置它们。

【讨论】:

  • 我会这样做,但在我的应用程序中,我通过应用程序委托切换视图,因此最终使这变得非常乏味。
猜你喜欢
  • 1970-01-01
  • 2011-07-31
  • 2019-06-07
  • 2014-04-30
  • 1970-01-01
  • 2013-01-22
  • 2011-10-03
  • 2014-03-02
  • 2021-07-17
相关资源
最近更新 更多