也许我只是完全想多了,但我正在尝试使用枚举来处理来自我正在集成的 API 的错误。
从这个 API 的 swagger 文档中,我可以看到可以返回的所有可能的响应。我已经把这些写成一个BaseError枚举:
enum BaseError: Error {
case badRequest // 400
case unauthorized // 401
case forbidden // 403
case unhandledError // XXX
...
}
Run Code Online (Sandbox Code Playgroud)
现在在我的客户端是我的问题开始的地方。
我最初的希望是采用这个BaseError枚举并根据我所在的客户扩展/添加其他案例。
就像是:
enum ClientSpecificError: BaseError {
case clientError
}
Run Code Online (Sandbox Code Playgroud)
这将允许我返回一个错误 ClientSpecificError.unauthorized
现在我知道这是不可能的,因为枚举不能继承其他枚举,但我对如何实现这一点缺少一些理解。
有没有其他方法可以使用枚举来实现这一点?
这甚至是“最佳实践”吗?
我试图熟悉自己CoreText,并开始制作自己的笔记应用程序。
我将正则表达式与我现在正在输入的文本框结合使用AttributedStrings,并试图从本质上模仿它的功能。StackOverflow
我有所有常见的东西,例如:
大胆的
斜体
emphasis blocks
但我正在努力制作块引用/代码块。
像这样的东西,它会中断自己的行并创建一个框,无论文本有多长,该框都会到达边缘。
And it changes the background color
Run Code Online (Sandbox Code Playgroud)
严格使用 AttributedStrings 是否可以做到这一点?我见过一些注入 HTML / CSS 的旧示例,但我希望我可以使用一些特殊的NSAttributedStringKey组合来完成它。