Mat*_*oal 6 siri swift sirishortcuts
我dynamic从意图定义中设置了一个意图参数。
假设我获取此选项信息的服务器当前已关闭。
目前尚不清楚如何向用户呈现无法检索的选项。我们应该返回选项的完成字段也接受Error. 我已经用 的子类填充它,Error并且我还实现了LocalizedError这个类的协议......但是当我遇到来自快捷方式应用程序的错误时,Apple 只是显示一个弹出消息,该消息返回一条未本地化的可怕消息(但这包括正确的错误名称)。
这是我正在使用的代码...
func provideCarModelOptions(for intent: CarIntent, with completion: @escaping ([String]?, Error?) -> Void) {
if(somethingGoesWrongWithServers()){
completion([],CarError.ServerDown)
}else{
completion(ReturnListOfModels(), nil)
}
}
Run Code Online (Sandbox Code Playgroud)
这就是我实现CarError枚举的方式
public enum CarError:Error{
case serverDown
case generic
}
extension CarError : LocalizedError{
public var errorDescription: String? {
switch self {
case .serverDown:
return "Server is down"
case .generic:
return "SomethingGoesWrong"
}
}
}
Run Code Online (Sandbox Code Playgroud)
我做错了什么还是苹果没有以正确的方式处理错误?
小智 6
这对我提供本地化描述很有用:
completion(nil, INIntentError.init(_nsError: NSError(domain: "com.Domain.error", code: 0, userInfo: [NSLocalizedDescriptionKey: "Error Message"])))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
360 次 |
| 最近记录: |