iphone - 类别,协议(protocol),一大类?我应该在这里使用什么

标签 iphone objective-c ios ipad

我正在尝试实现一个通用数字类。基本上我的应用程序需要从用户那里接收一个字符串并解析它以确定它是英制的(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/

相关文章:

iphone - 景观中的 UIRefreshControl

iphone - 将图像作为二进制数据发送到服务器

ios - 使用 Swift 泛型编写带有完成 block 的 API 请求

ios - uiimagePickerController didFinishPickingMediaWithInfo 用法

ios - 我正在尝试用 Swift 制作一个倒计时应用程序,但遇到了一些问题,

iphone - 区分 iPad 和 iPhone 的网络图标

iphone - uitableview 每行显示 3 个对象

ios - 连接到 Apple Music

iphone - 熟悉 Cocoa 和 Cocoa Touch 的玩具项目的想法

ios - 在 vCard 格式中创建换行符