我正在尝试实现一个通用数字类。基本上我的应用程序需要从用户那里接收一个字符串并解析它以确定它是英制的(ft 的分数或这些的任何组合)还是它的公制(m cm mm 或任何组合)。我的想法是制作公制和英制类,它们都是更通用的数字类型。然后 UI 创建一个 Number 对象,传入要解析的字符串,数字决定它是公制还是英制。我看到制作 1 个大数字类会很容易,但似乎我应该将公制和英制类与标准接口(interface) (Number) 分开,因为它们将做更多的事情,而不仅仅是解析字符串。
因此,如果我执行 Number *num = [[Number alloc] initWithString:someString];
,我将获得特定于英制或公制的 Number 子类。这确实是我知道有些事情没有意义的地方,但我不确定该怎么做。
处理这个问题的好方法是什么?
最佳答案
您认为您的提案有什么问题?
您想做什么以及如何解决它完全符合 Cocoa 中称为“类集群”的概念,在 Cocoa Fundamentals Guide 中有所描述。 . Apple 在 Foundation 和 AppKit 中到处使用这种模式。
关于iphone - 类别,协议(protocol),一大类?我应该在这里使用什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5790789/