我在 Objective-C 中创建简单的 Web 服务客户端,发现为每种 Web 服务的响应创建单独的类可能有点矫枉过正。也许这是因为 Objective-C 有两个文件 - H&M。
以下是来自网络服务的响应示例:
{"name": "John", status: "OK"}
或
{"total": "5500", status: "OK"}
或更复杂
{"location": {"x": "140", "y": "90", "z": "0"},
"color": "red", status: "OK"}
我想为每个响应创建单独的类,例如NameResponse、TotalResponse、LocationInfoResponse 并从 Response 类继承它们。
我确信在 Java 中创建一些类会非常紧凑,但不确定 Objective-C。
更新 1 使用类而不是 NSDictionary 的原因之一是代码更安全且定义更好,例如:
我觉得
response.name
优于
json valueForKey: "name"
不是吗?
请在答案中说明你会怎么做,在这种情况下,每个响应的类是否过大?
最佳答案
明确指定数据模型永远不会过大。正式数据类型是最好的规范——它们已经实现了!
如果 Web 服务响应在应用程序的层之间传输,请使用类。如果它们的使用范围足够小,NSDictionary 可能是可以接受的。
关于java - 为简单的数据结构创建单独的类在 Objective-C 中是矫枉过正的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7921260/