Cocoa touch 更改视图';基于属性的初始化

Cocoa touch 更改视图';基于属性的初始化,cocoa-touch,uiview,Cocoa Touch,Uiview,我正在尝试构建一种使用不同组件动态初始化视图的方法。因此,我需要在初始化时动态地执行此操作。我正在考虑使用一个带有默认值的结构,如果在任何给定时间启用更改的BOOL属性,我都可以重新加载输入视图 因此,我可以循环查看BOOL属性并检查是否有更改。有没有更好的方法来做这件事,或者这听起来是对的 架构: UIView->按钮1到10等距放置。根据用户的偏好,可以打开/关闭按钮,但默认情况下它们都处于打开状态 您可以使用键值编码观察者来识别值何时更改。这可能会触发您进行必要的更新。轮询布尔值进行更改是

我正在尝试构建一种使用不同组件动态初始化视图的方法。因此,我需要在初始化时动态地执行此操作。我正在考虑使用一个带有默认值的结构,如果在任何给定时间启用更改的
BOOL
属性,我都可以重新加载输入视图

因此,我可以循环查看
BOOL
属性并检查是否有更改。有没有更好的方法来做这件事,或者这听起来是对的

架构:


UIView->按钮1到10等距放置。根据用户的偏好,可以打开/关闭按钮,但默认情况下它们都处于打开状态

您可以使用键值编码观察者来识别值何时更改。这可能会触发您进行必要的更新。轮询布尔值进行更改是不必要的步骤,可能会导致应用程序无响应。另外,请评估导致需要更新/更改视图的操作是否是操作,然后您可以在适当的操作中实现更改。有关更多信息,请查看Key Value Observing Programming Guide:

hi J2theC,我已经考虑过了,但将布尔引入图片的主要原因是使用For循环覆盖“BOOL Type”,并填充我的视图,根据哪些布尔设置为开/关。这确实不清楚——您想“动态”更改视图,但是当它被初始化的时候?这就是初始化对象时要做的——设置对象的值。你能模拟一些(伪)代码来提供更具体的解释吗?所以我关心的是,为什么我不能使用一些struct值来构造我的对象初始化?并使用KVO检查发生的任何更改,以查看值是否已更改,并基于此重新构建我的视图。本质上,初始化是通过for循环进行的,而不是手动初始化,因为我有很多按钮要初始化。如果还有比这更好的把戏,那就太好了。