我正在通過一本關於Swift的書,我理解函數中作用域的思想,所以接下來我要理解爲什麼我們在類中使用可選類型設置全局變量。說實話,看起來我們並沒有設置這些變量,而只是讓這個類知道整個代碼庫中會有一個特定類型的變量:var sut: ItemManager!
。瞭解swift中的可選全局變量
從我所瞭解的變量sut是一個類型ItemManger的解包可選項,它肯定具有有效值而不是零。我們將它設置爲感嘆號或問號的原因是因爲此類中沒有初始化程序。不清楚的是,因爲這個類沒有初始化程序,當決定使用問號標記或隱式地用感嘆號標記解釋天氣來將此全局變量設置爲可選時,哪些因素起作用?
import XCTest
@testable import ToDo
class ItemManagerTests: XCTestCase {
var sut: ItemManager!
override func setUp() {
super.setUp()
// Put setup code here. This method is called before the invocation of each test method in the class.
sut = ItemManager.init()
}
override func tearDown() {
// Put teardown code here. This method is called after the invocation of each test method in the class.
super.tearDown()
}
func test_ToDoCount_InitiallySetAtZero(){
let sut = ItemManager.init()
XCTAssertEqual(sut.toDoCount, 0)
}
func test_DoneCount_InitiallySetAtZero(){
let sut = ItemManager.init()
XCTAssertEqual(sut.doneCount, 0)
}
}
您列表中的第一項中沒有聲明是正確的。只要確保你不會沒有一個訪問它們了 - IUO到沒有價值這是完全正常的。 – Andreas