首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Xcode不显示来自自定义编辑器扩展的错误文本

Xcode不显示来自自定义编辑器扩展的错误文本
EN

Stack Overflow用户
提问于 2017-08-15 20:54:10
回答 1查看 148关注 0票数 1

我已经创建了一个自定义Xcode编辑器扩展,如果没有满足某些条件,它可能无法运行。

具体来说,它是一个排序行命令,如果有多个选择,或者如果选择的行少于两行,它将拒绝运行。

我定义了一个符合错误的枚举,以定义同样符合LocalizedError的错误。

代码语言:javascript
复制
enum CommandError: Error, LocalizedError
{
  case notEnoughLines
  case tooManySelections

  public var errorDescription: String?
  {
    switch self
    {
    case .notEnoughLines:     return NSLocalizedString("Not enough lines to sort", comment: "notEnoughLines")
    case .tooManySelections:  return NSLocalizedString("Too many selections", comment: "tooManySelections")        
    }
  }
}

在我的执行( with :completionHandler:)方法中,我使用适当的错误之一调用完成处理程序:

代码语言:javascript
复制
...
if invocation.buffer.selections.count > 1
{
  completionHandler(CommandError.tooManySelections)
  return
} 
...

我期待文本的错误(“太多的选择”)将被显示。相反,错误显示为:

手术无法完成。(Ext01.SortLinesCommand.CommandError错误1.)

我是做错了,还是在XcodeKit或Xcode中出现了问题?

EN

回答 1

Stack Overflow用户

发布于 2018-01-11 00:25:33

我在我的linkedIn配置文件上为Xcode扩展创建了一篇文章。这里的问题是错误是协议,而NSError是对象。不能将错误协议传递给完成处理程序,但必须在其中传递NSError实例。以前也有点困惑。

如果您像这样创建NSError实例

代码语言:javascript
复制
  var userInfo: [AnyHashable : Any] = [
        NSLocalizedDescriptionKey :  NSLocalizedString(
            "Finally! This works!",
            value: "Finally! This works!",
            comment: ""
        ),
        NSLocalizedFailureReasonErrorKey : NSLocalizedString(
            "Finally! This works!",
            value: "Finally! This works!",
            comment: ""
        )
    ]

 let error = NSError(
    domain: "", 
    code: 666,
    userInfo: userInfo
  )
  // And pass it to completion like this, it will work
  completionHandler(error)

要进一步了解这个问题,请看我的文章:

https://www.linkedin.com/pulse/xcode-extension-defining-enum-variables-swift-moreerror-bucher/

如果您对错误感到好奇,那么本文中的Cmd+f关键字如下:

I haven't seen any extension with passing error

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

https://stackoverflow.com/questions/45701377

复制
相关文章

相似问题

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