@implementation MyClass
- (NSString *)description
{
return [NSString stringWithFormat:@"<%@: %p, foo = %@>", [self class], foo _foo];
}
@end
po fooClass
<MyClass: 0x12938004, foo = "bar">
1> class MyClass { let foo = 42 }
2>
3> let x = MyClass()
x: MyClass = {
foo = 42
}
但我想重写此行为,以便打印到控制台:
4> println("x = \(x)")
x = C11lldb_expr_07MyClass (has 1 child)
是否有方法清理此println
输出?我看过printable
协议:
/// This protocol should be adopted by types that wish to customize their
/// textual representation. This textual representation is used when objects
/// are written to an `OutputStream`.
protocol Printable {
var description: String { get }
}
我认为println
会自动“看到”这一点,但情况似乎并非如此:
1> class MyClass: Printable {
2. let foo = 42
3. var description: String { get { return "MyClass, foo = \(foo)" } }
4. }
5>
6> let x = MyClass()
x: MyClass = {
foo = 42
}
7> println("x = \(x)")
x = C11lldb_expr_07MyClass (has 1 child)
8> println("x = \(x.description)")
x = MyClass, foo = 42
要在Swift类型上实现此功能,必须实现CustomStringConvertable
协议,然后实现名为Description
的字符串属性。
例如:
class MyClass: CustomStringConvertible {
let foo = 42
var description: String {
return "<\(type(of: self)): foo = \(foo)>"
}
}
print(MyClass()) // prints: <MyClass: foo = 42>
注意:type(of:self)
获取当前实例的类型,而不是显式地编写'MyClass'。
我想按节组织我的代码。通常我使用,但当我试图在.swift文件中这样做时,它就不起作用了。 所以我的问题是,我是否能够以某种方式启用它,如果不能,那么如何在.swift文件中组织代码?
我仍然在学习和试验JavaFX中的GUIs,我似乎无法得到我所希望的“外观”…我试图在一个面板中分组几个标签,然后在另一个面板中添加另一个标签。但我似乎不知道如何在JavaFX中正确使用“JPanels”? 如有任何帮助,将不胜感激 编辑:这是我试图通过尝试不同的布局来实现的,但运气仍然不好
在Mac和Windows上,可以使用 <罢工> (替换 )和 (替换 ) (Docker 18.03+)位于容器内。 对于Linux来说,有没有一个可以在不传递env变量或使用各种CLI命令提取它的情况下开箱即用的方法?
我们有以下场景:使用Sonarqube扫描Windows10中的两个项目。 null 提前谢了。
我看到Kotlin有,它们相当于Java中的。 现在我想知道,是否有等价于Java的?
这里的答案引用了一个包含所有完全未来方法的表,但这并不是我要找的,或者我可能搞错了。 我正在寻找Streams'peek()的完全未来等价物,因此基本上是一个返回输入参数的,或者一个不返回的。我认为有两种方法都不能在语义上准确地表达我的意图,但可以做到这一点: 和 两者都从上一个阶段获取输入,允许我执行一个操作并以相同的类型返回到下一个阶段。在这两种方法中,后一种方法将我的时间限制在其他事情完成时