0
我有这样的错误代码枚举斯威夫特显示从枚举参数的错误消息
enum EYErrorCode: Error {
case insufficientFunds(coinsNeeded: Int)
}
我要显示一个错误,指出这样的:
"Error - You need \(coinsNeeded) to perform this action"
但我不知道如何做我的错误显示coinsNeeded
参数。
我的代码如下:
static func errorForCode(code: EYErrorCode) -> EYCustomError?
{
switch code {
case .insufficientFunds:
let localizedDescription = NSLocalizedString("You do not have enough cash", comment: "insufficientFunds message")
return EYCustomError.init(localizedTitle:nil, localizedDescription: localizedDescription, code:code)
}
}
protocol EYErrorProtocol: Error {
var localizedTitle: String { get }
var localizedDescription: String { get }
var code: Int { get }
}
public struct EYCustomError: EYErrorProtocol {
var localizedTitle: String
var localizedDescription: String
var code: Int
init(localizedTitle: String?, localizedDescription: String, code: EYErrorCode) {
self.localizedTitle = localizedTitle ?? "Error"
self.localizedDescription = localizedDescription
let err = (code as NSError).code
self.code = err
}
}
我的问题:
如何创建,显示资金不足(coinsNeeded)参数错误?
部分我不知道我可以把提取相关的值参数在switch case语句中。但我会尝试。它似乎工作,所以我会接受它 – zardon