Swift富含表达力的枚举!

Swift富含表达力的枚举!,第1张

概述是的,标题是感叹句!是对Swift枚举强大的也是够了的一种表达 ;) 举个栗子,一个很简单的类: class Trace{ enum TraceResult{ case success case failed }} 如上,Trace用来跟踪用户每日的行为,可以看到包括成功和失败两种情况。 如果我允许用户自定义结果呢???有的用户不希望简单的将结果归

是的,标题是感叹句!是对Swift枚举强大的也是够了的一种表达 ;)

举个栗子,一个很简单的类:

@H_502_5@@H_404_6@class Trace{    @H_404_6@enum TraceResult{        @H_404_6@case success        @H_404_6@case Failed    }}

如上,Trace用来跟踪用户每日的行为,可以看到包括成功和失败两种情况。

如果我允许用户自定义结果呢???有的用户不希望简单的将结果归为成功和失败,他/她希望结果体现出一个程度值,比如:A,B,C,D

这该如何呢?

其实不管用户定义什么样的结果,我只要知道它表示的东东就可以了,比如说String。

只要在枚举中添加一个自定义项就可以了:

@H_404_6@enum TraceResult{    @H_404_6@case success    @H_404_6@case Failed    @H_404_6@case custom}

但是肿么体现出自定义的效果呢???用枚举附加吧:

@H_404_6@enum TraceResult{    @H_404_6@case success    @H_404_6@case Failed    @H_404_6@case custom(String)}

我们这样定义和取回自定义的值:

@H_404_6@let result = Trace.TraceResult.custom("Super Good")@H_404_6@if @H_404_6@case @H_404_6@let TraceResult.custom(@H_404_6@value) = result{    print("custom value is \(value)")}

That’s it,有感而发,大家以管窥豹一下吧 ;)

总结

以上是内存溢出为你收集整理的Swift富含表达力的枚举!全部内容,希望文章能够帮你解决Swift富含表达力的枚举!所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1053336.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存