【问题标题】:iOS MVC - Where does data type conversion take place?iOS MVC - 数据类型转换发生在哪里?
【发布时间】:2013-03-23 13:43:42
【问题描述】:

我在构建 iPhone 应用程序时正在学习 MVC,并且想知道数据类型转换属于哪里?例如,我有一个 uitextfield,它以“12:59”(分钟:秒)的形式接受用户的持续时间。这必须转换为表示为整数的秒数。

所以我的问题是,模型对象是否应该接受字符串,进行转换并存储它? UIViewController 是否应该处理模型和视图之间的转换?或者我应该在文本字段上附加某种格式化程序对象来处理这个问题?

非常感谢任何帮助。 谢谢

【问题讨论】:

    标签: ios model-view-controller design-patterns


    【解决方案1】:

    在您的控制器中拥有UITextField 的代表,理想情况下,转换应在控制器中进行。

    【讨论】:

      【解决方案2】:

      UIViewController 这包含所有逻辑,因此“12.59”必须在您的 textview 委托方法中转换为秒

      【讨论】:

        【解决方案3】:

        根据 MVC:

        • 查看 - UITextField
        • 模型 - 任何信息或数据
        • 控制器 - 转换器/格式化程序,UIViewController

        关于现实生活: 我建议您将数据转换器/格式化程序和 UIViewController 结合起来,但如果您需要在其他类中使用此代码,最好编写像 DataConverter 这样的分离类

        【讨论】:

        • 我也是这么说的。这样做的“最佳实践”方法是创建一个类(与您的模型和控制器分开),由您进行格式化。有点像 NSDateFormatter 但你自己的版本。
        猜你喜欢
        • 2011-08-24
        • 2018-05-26
        • 2011-04-16
        • 2011-08-24
        • 2012-01-29
        • 2014-03-03
        • 2013-07-29
        • 2015-06-01
        • 2012-03-07
        相关资源
        最近更新 更多