我是新来编程,我正在跟随一个教程的乐趣,更详细地了解事情。我正在阅读的教程将创建采用Double和Int类型并将它们相乘的代码。众所周知,他们将Int转换为Double来执行操作。下面是示例代码:Swift类型转换的例子,但使用一个类
let hourlyRate: Double = 19.5
let hoursWorked: Int = 10
let totalCost: Double = hourlyRate * Double(hoursWorked)
看到这一点,我说没关系冷静,所以让我看看,如果我能做到这一点的激情项目我工作后。在激情的项目代码我用UIStoryboard方法返回一个UIViewController,所以我认为这将是有趣的,如果我能做到一样,在下面的代码我的变量称为控制器教程:
class ItemListDataProviderTests: XCTestCase {
var controller: ItemListViewController!
var sut: ItemListDataProvider!
var tableView: UITableView!
override func setUp() {
super.setUp()
sut = ItemListDataProvider()
sut.itemManager = ItemManager()
let storyboard = UIStoryboard.init(name: "Main", bundle: nil)
controller = storyboard.instantiateViewController(withIdentifier: "ItemListViewController") as! ItemListViewController //compiles
controller = ItemListViewController(storyboard.instantiateViewController(withIdentifier: "ItemListViewController")) //causes error and code doesn't compile
_ = controller.view
tableView = controller.tableView
tableView.dataSource = sut
}
,你可以看到它没有按照我希望的方式工作。我觉得类型转换是一个额外的步骤,但我认为它是编译代码所必需的,但我不明白为什么这样做不起作用。计算机认为我要求它做什么使其不理解?我真的很想知道和理解为什么所以任何帮助都非常感激。