数组 – 有没有办法在Swift中重写数组到字符串的转换?
发布时间:2020-12-14 02:24:02 所属栏目:百科 来源:网络整理
导读:我正在玩 Swift试图让它看起来更“动态打字” – 只是为了好玩,没有预期的产值. 现在我陷入了将内置类型转换为String的覆盖行为. 例如,我想看看Array的这个输出: let nums = [1,2,3]print(nums) // "I'm an array" 到目前为止,我试过 对NSArray进行扩展(不
我正在玩
Swift试图让它看起来更“动态打字” – 只是为了好玩,没有预期的产值.
现在我陷入了将内置类型转换为String的覆盖行为. 例如,我想看看Array的这个输出: let nums = [1,2,3] print(nums) // "I'm an array" 到目前为止,我试过 >对NSArray进行扩展(不编译) 好像我走错了路: extension Array { public var description: String { return "An array" } } 至少在Swift中是否可行? 有任何想法吗?
这不起作用,因为Array覆盖了描述.如果数组没有覆盖它,那么它将打印“一个数组”.类方法’胜过’扩展名.
extension Array { public var description: String { return "An array" } } 您可以为数组创建一个Wrapper类.这是一种解决方法,但不会覆盖数组的描述本身. class ArrayWrapper<T> : CustomStringConvertible{ var array : Array<T> = Array<T>() var description: String { return "An array" } } 然后你可以像这样使用它. var array = ArrayWrapper<Int>() array.array = [1,3] print(array) //prints "An Array" print(array.array) //still prints "[1,3]" (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- Flex 4.0 控件<ListBase类—SkinnableDataContai
- 我们如何在iPhone Xcode中处理多个NSURLConnecti
- c# – 用于Surface pro 3 windows 8.1的蓝牙API
- ios – Xcode 7安装Apple Watch应用程序从未完成
- Ajax API介绍,以及html5的新特性,jsonp的用法
- react-native – 在ReactNative中,Async Await方
- ios – 缺少营销图标
- Swift:从dispatch_async内部返回结果
- 实战DDD(Domain-Driven Design领域驱动设计:Evan
- NoSQL CAP定理 – 可用性和分区容差
热点阅读