作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一组基本的结构,包括定义车库的 Garage
结构、封装硬编码车库列表的 Garages
类,以及 >Car
类,根据制造商字符串搜索车库。
我的问题是 Car.findGarageByManufacturer
需要有选择地返回一个 Garage
实例(如果找不到则返回 nil
)。` 但是我收到以下错误:
可选类型“车库”的值?未展开;你是不是想用'!'或者 '?' ?
...在线return foundGarage
如何在方法内部返回可选值?
// Using a struct because an 'Object' type doesn't seem to exist :-/
struct Garage {
var name: String
var manu: String
}
// Hardcorded set of garages, using class to test returning an array of a struct instance.
class Garages {
func getGarages() -> Array<Garage> {
var garages: Garage[] = [
Garage(name: "VW Car Park", manu: "VW"),
Garage(name: "Williams BMW", manu: "BMW"),
Garage(name: "Hadwins", manu: "VW")
]
return garages;
}
}
// Immediately create an instance of the Garages class
let garages = Garages()
class Car {
func findGarageByManufacturer(manufacturer: String) -> Garage {
var foundGarage: Garage? = nil
for garage in garages.getGarages() {
if(garage.manu == manufacturer) {
foundGarage = garage
}
}
// This is the line that's causing an error
// How do we optionally return a garage?
return foundGarage
}
}
最佳答案
func findGarageByManufacturer(manufacturer: String) -> Garage
必须是
func findGarageByManufacturer(manufacturer: String) -> Garage?
(注意问号)
关于swift - 从方法返回可选值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24037827/
我正在尝试用 Swift 编写这段 JavaScript 代码:k_combinations 到目前为止,我在 Swift 中有这个: import Foundation import Cocoa e
我是一名优秀的程序员,十分优秀!