【发布时间】:2023-03-25 14:49:01
【问题描述】:
我想自动化这段代码:
let objectType = json["object"]["type"].stringValue;
switch objectType {
case "Message":
activity.item = MessageLib.make(json["object"]) as! MessageItem;
default:
()
}
我想根据它的类型制作一个对象。但是我不想为每个新的 ObjectType 写一个新的案例。我只想创建一个新的对象类。 OBJECTTYPEItem
【问题讨论】:
-
你到底想完成什么?
-
我希望它自己决定使用哪个子类。
-
但映射不可避免地必须指定某处
-
否则您的代码将如何计算每种类型的处理方式。这样做没有错。如果你不想,你可以使用枚举来确保所有案例都得到处理。
-
运气不好的伙伴。 Swift 具有编译时类型推断的强类型。像这样的东西不会很快起作用。您可以下拉到 Objective C 并使用以下答案。
标签: swift design-patterns factory factory-pattern