分类,协议,一大类?我应该在这里使用什么

jam*_*one 5 iphone objective-c ipad ios

我正在尝试实现通用数字类.基本上我的应用程序需要从用户接收一个字符串并解析它以确定它的英制(ft的分数或其中的任何组合)或其度量(m cm mm或任何组合).我的想法是制作Metric和Imperial类,两者都是更通用的类型.然后UI创建一个Number对象,传入字符串进行解析,数字确定它是公制还是英制.我看到如何轻松制作一个大数字类来实现这一点,但似乎我应该将度量和英制类与标准接口(数字)分开,因为它们会做更多的事情,然后只需解析字符串.

所以如果我这样做,Number *num = [[Number alloc] initWithString:someString];我会得到一个特定于Imperial或Metric的Number子类.这是我知道某些事情没有意义的地方,但我不知道该怎么做.

处理这个问题的好方法是什么?

Nik*_*uhe 4

您认为您的提议有什么问题?

您想要做什么以及如何解决它与Cocoa 基础知识指南中描述的称为“类集群”的 Cocoa 概念完全匹配。Apple 在 Foundation 和 AppKit 中到处都使用了这种模式。