gpt4 book ai didi

swift - 如何在 Swift 中覆盖 NSDate 对象的 debugDescription

转载 作者:行者123 更新时间:2023-11-28 06:53:31 25 4
gpt4 key购买 nike

在 Xcode 调试器中显示 NSDate 对象的值时,我试图覆盖 debugDescription 属性。

我的扩展代码:

import Foundation

extension NSDate {
public override var debugDescription: String {
return "FOOFOOFOO"
}

public func yeah() -> String {
return "yeah!"
}
}

我已经确认带有我的扩展代码的文件包含在测试项目目标中,因为我能够调用 yeah 函数并成功地 print调试器的输出。但是,我似乎无法使用 debugDescription 属性。

请注意,我的实际目标是完成我之前在 Objective-C 中所做的事情(有关详细信息,请参阅 this question),但目前仍在努力解决如何在 Swift 中完成的问题。

最佳答案

Swift 中有两个独立的协议(protocol)

struct S : CustomStringConvertible, CustomDebugStringConvertible {
var description: String {
return "description"
}
var debugDescription : String {
return "debug description"
}
}

let s = S()
print(s) // description
debugPrint(s) // debug description

...谢谢必须去 Leo!!!

import Foundation
extension NSDate: CustomDebugStringConvertible {
public override var debugDescription: String {
return "FOO"
}
}

debugPrint(NSDate()) // FOO

关于swift - 如何在 Swift 中覆盖 NSDate 对象的 debugDescription,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34297428/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com