首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在模型中使用内部类是一个很好的实践吗?

在模型中使用内部类是一个很好的实践吗?
EN

Stack Overflow用户
提问于 2019-05-20 13:16:48
回答 2查看 338关注 0票数 0

我有多个使用API库的项目。这个API为他的模型使用了一个通用类名,如“文档”或“契约”。

我知道我可以使用前缀,但我问自己,做这样的内部类是不是更好:

代码语言:javascript
复制
//My main class

class MyApi {

    func fetchDocuments(completion: ([Document]) -> Void){}
    func fetchContracts(completion: ([Contract]) -> Void){}
}

//MyApi.Document.swift

extension MyApi {
    class Document { 
      .... 
   }
}

//MyApi.Contract.swift

extension MyApi {
    class Contract { 
      .... 
    }
}

//a cell config
func setup(document: MyApi.Document) {

}

更清楚的是,此对象与此API相关,并解决与同名的其他类的名称冲突。你觉得这是个好办法吗?如果不是,哪种选择?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-05-20 13:26:08

这是一个很好的实践,可以将您的命名空间组织起来,并且这个问题与下面的一个相关:Swift nested class properties

票数 4
EN

Stack Overflow用户

发布于 2019-05-20 13:26:18

内部类/结构没有问题,这取决于您希望每个模块与另一个模块分离的方式,另一个选项是有一个长的命名约定。

代码语言:javascript
复制
class ModuleA  ... }
class ModuleA1 { ... }
class ModuleA2 { ... }
代码语言:javascript
复制
class ModuleB  ... }
class ModuleB1 { ... }
class ModuleB2 { ... }

嵌套的一个优点是,您可以通过使用root类更改访问修饰符来应用隐藏,而不是在每个单独的类前面编写它。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56221788

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档