- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何创建一个协议(protocol)或类型,在实例化时接受所有类型的类型,如 Int、Double、String、NSDate 等(如 CustomStringConvertible)?
第一个 block 符合 CustomerStringConvertible 并且工作正常。
第二个 block (“我的方式...”)没有(我理解,但我不知道如何解决)
我应该如何实现这个?我在在线 Playground 中创建了这个(swiftStub,请参阅 http://swiftstub.com/222917135/?v=beta )
print( "The CustomStringConvertible way")
var itemToPrint : CustomStringConvertible
itemToPrint = "Bart"
print( itemToPrint )
itemToPrint = 109
print( itemToPrint )
itemToPrint = NSDate()
print( itemToPrint )
print( "My way..doesnt work...what must I do to imitate CustomStringConvertible???")
protocol AProtocol {
var value: Double { get }
}
extension Double: AProtocol {
var value: Double { return self }
}
var myVarProtocol: AProtocol
myVarProtocol=127
print( myVarProtocol )
myVarProtocol="Bart..THIS IS NOT ALLOWED"
print( myVarProtocol )
myVarProtocol=NSDate()
print( myVarProtocol )
最佳答案
这样的东西已经存在于语言中 - AnyObjects 。然而,每当您想要调用特定类型的方法时,使用非特定类型将迫使您将其强制转换为特定类型。
关于swift - 如何模仿 CustomStringConvertible,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32333660/
如何创建一个协议(protocol)或类型,在实例化时接受所有类型的类型,如 Int、Double、String、NSDate 等(如 CustomStringConvertible)? 第一个 bl
我已经在 swift 中实现了一个链表 - 我还构建了一个堆栈和队列,它们都在底层使用了链表。我扩展了链接列表以符合 customstringconvertible 协议(protocol),这样我就
我在 XCode playground 中为我的 enum 使用 CustomStringConvertible 时遇到了一个非常奇怪的问题。 请参阅以下枚举: enum A { case v
我希望 CustomStringConvertible 为我提供节点的描述,特别是它包含的边。 作为背景,我一直在研究图论并创建了一个节点: class Node : CustomStringConv
我整理了以下类(class)(在 Swift variable comparison where type is not known 中其他人的帮助下)。 我想要实现的是将一个闭包传递给 Search
我正在实现 try catch 枚举: enum processError: Error, CustomStringConvertible { case one var
我在 Xcode Playground 中尝试这段代码并注意到 description getter 方法被调用了太多次。 代码在这里:https://gist.github.com/T-Pham/4
我有以下枚举 enum Properties: CustomStringConvertible { case binaryOperation(BinaryOperationProperties
这个问题在这里已经有了答案: Using os_log to log function arguments, or other dynamic data (5 个答案) 关闭 4 年前。 我想知道我
我想在协议(protocol)扩展中为我的协议(protocol)实现一个可打印的功能,然后将根据协议(protocol)的字段打印任何符合协议(protocol)的结构。但是我得到了以下错误,似乎
我已经声明了以下内容: class Song: CustomStringConvertible { let title: String let artist: String i
我想要一个可以实例化几个不同对象的通用函数enum我通过提供枚举类型和 Int原始值(value)。这些enum s 也是 CustomStringConvertible . 我试过这个: func
我想为给定的类型实现类似于 CustomStringConvertible 的协议(protocol),但例如。 我的需要是显示类型属性 值,而无需为此目的创建实例评估器。当然,我可以向此类型添加 C
我想通过添加一些额外的输出来扩展我的 class 中 CustomStringConvertible 协议(protocol)的默认行为。 例如,假设您在名为 Bar 的项目中有这个 class: c
我在 iOS playground 中写了一个结构体,想自定义它的打印格式。 struct Point { let x: Int, y: Int } extension Point: Cust
在这里,我尝试对我的 distinct 函数进行基准测试,该函数接收随机对象数组并返回不同的数组,方法是通过 phoneNumber 属性删除重复项:当我为我的 Person 类实现 CustomSt
当枚举符合协议(protocol) CustomStringConvertible 时,是否可以从变量中获取枚举描述?简化的定义是: enum myEnum: CustomStringConverti
我正在尝试编写一个函数,该函数接受任何可由 CustomStringConvertible 表示的 RawRepresentable 值。我试过这样写: enum MyEnum: String {
我正在试用 XCGLogger 并注意到,如果我有一个日志语句,其中包含来自同时实现 CustomDebugStringConvertible 和 CustomStringConvertible 的类
在 Swift 2.2 中,提供的协议(protocol) CustomStringConvertible 提供了一个返回字符串表示的计算属性。通常,它用于简单数据类型的简短单行字符串表示。 是否有类
我是一名优秀的程序员,十分优秀!