【发布时间】:2012-06-04 00:49:01
【问题描述】:
我有一个代表三角形的模型对象。有一些 init 方法采用不同的已知参数组合。然后它求解剩余的值(边长和角度)。目前,如果给定参数为 nil 或超出此三角形类型的适当范围,我的初始化程序将返回 nil。然而,为了向用户提供适当的反馈,控制器对象还必须检查不正确的输入值,例如角度 > 90 度等。这对我来说很臭,因为这些规则应该在模型中定义一次。所以我的想法是有一个 NSError 对象被设置为控制器应该向用户显示的字符串。我只是不确定将其传达给控制器的最佳方式。如果发生错误,我的 init 方法是否应该返回此 NSError 而不是 Triangle 实例?这似乎是错误的。或者我是否将一个指向 NSError 对象的指针作为参数传递给 init,并在发生错误时填充它?如果我这样做,我是否仍然从三角形对象的 init 返回 nil,因为它不可用,还是我只是部分初始化三角形并返回它?
【问题讨论】:
标签: objective-c ios