'有些'在Swift调试器打印输出中意味着什么?
...这是默认的课程'值?如果是这样......它将如何改变?
注意:'有些'似乎指向默认类。
(lldb) po rootNode
Some
{
nodeValue = 10
leftNode = Some {
nodeValue = 1
leftNode = nil
rightNode = Some {
nodeValue = 2
leftNode = nil
rightNode = Some {
nodeValue = 3
leftNode = nil
rightNode = Some {
nodeValue = 4
leftNode = nil
rightNode = Some {
nodeValue = 5
leftNode = nil
rightNode = nil
}
}
}
}
}
rightNode = nil
}
答案 0 :(得分:6)
Some
是Optional
的两种情况之一:
enum Optional<T> : Reflectable, NilLiteralConvertible {
case None
case Some(T)
init()
init(_ some: T)
var hasValue: Bool { get }
/// Haskell's fmap, which was mis-named
func map<U>(f: (T) -> U) -> U?
func getMirror() -> MirrorType
static func convertFromNilLiteral() -> T?
}
您可以通过使用rootNode!
展开可选项来提取值。