主要有两个函数用于输出的文本表示对象和变量,那就是 print( ) 和println( )。
- println( )换行输出;
- 其他的函数还有 debugPrintln()和debugPrint();
下面的例子中给出了一些功能,可以用于高级调试。
e.g: println("Hello World!")
控制台输出:
Hello World!
e.g:
var temp:String = "This is a String "
println(temp)
debugPrintln(temp)
控制台输出:
This is a String
"This is a String"
要实现对某个进行描述输出,可以重写debugDescription( )或者 description( )方法:
e.g:
class ClassA: NSObject {
var name: String = "unknown"
override var description: String {
return "ClassA: \(name)"
}
}
var tempA: ClassA = ClassA()
print(tempA.description)
println(tempA)
控制台输出:
ClassA: unknown
ClassA: unknown
使用toDebugString( )和toString( ) 这两个方法将返回的结果debugPrint并打印成一个字符串:
e.g:
var str: String = toString(tempA)
println(str)
控制台输出:
ClassA: unknown
precondition( )和preconditionFailure( )这两个方法的使用:
e.g:
var value: String = ""
if value.lengthOfBytesUsingEncoding(NSUTF8StringEncoding) == 0 {
preconditionFailure("value is empty")}
控制台输出:
fatal error: value is empty: file /Users/cramesh/Documents/My_Works/SwiftTutorial/SwiftTutorial/AppDelegate.swift, line 37
确定一个对象可以用unsafeAddressOf():
e.g: println(unsafeAddressOf(value))
控制台输出:
0x00007f8df251e480
输出和方法名可以做一下处理:
var className = NSStringFromClass(self.classForCoder) println(className)
var methodName = NSStringFromSelector(__FUNCTION__)
println(methodName)
//或者
println(__FUNCTION__)