如何从 swift 代码中获得有用的 objc 枚举打印输出?
Posted
技术标签:
【中文标题】如何从 swift 代码中获得有用的 objc 枚举打印输出?【英文标题】:How could I get a useful printout of an objc enum from swift code? 【发布时间】:2014-06-06 10:09:33 【问题描述】: vp.verifyEmail(self.textClaim) (OYIDCVerificationStatus status)
in
println("verifying email \(self.textClaim) returned \(status)")
产生“验证电子邮件 foo@bar 返回(枚举值)” (这显然没有实际用途)。 这个:
vp.verifyEmail(self.textClaim) (OYIDCVerificationStatus status)
in
var s : CShort = status as CShort //<- this does not compile
println("verifying email \(self.textClaim) returned \(s)")
不编译
VerifyEmailViewController.swift:22:21: 'YOIDCVerificationStatus' 不能转换为 'CShort'
即使枚举是这样声明的:
typedef NS_ENUM(short, YOIDCVerificationStatus)
Unavailable = -1,
ClaimRefuted,
ClaimVerified
;
【问题讨论】:
【参考方案1】:toRaw
会做你需要的吗?
vp.verifyEmail(self.textClaim) (OYIDCVerificationStatus status)
in
println("verifying email \(self.textClaim) returned \(status.toRaw())")
【讨论】:
类似于 toRaw,是的。尝试执行 status.toRaw 会导致 VerifyEmailViewController.swift:22:12: 'status' is not a type以上是关于如何从 swift 代码中获得有用的 objc 枚举打印输出?的主要内容,如果未能解决你的问题,请参考以下文章
从 Objc 超类继承的 Swift 子类中未调用 viewDidLoad
Xcode中如何快速创建一个Objc与Swift桥接的头文件