【发布时间】:2021-02-09 13:26:17
【问题描述】:
如何将默认值设为 nil?
我试图在 func stockInfoPerDay(jsonData: StockInfo?) 和 func stockInfoSingleDay(singleJSONData: StockInfoOneDay?) 中将 StockInfo 设为可选,但这给我在 for 循环中带来了麻烦....强制展开时没有显示错误,但我不想强制展开.
.onAppear(){
stockInfoPerDay(jsonData: jsonData ?? nil) <---- *'nil' is not compatible with expected argument type 'StockInfo'*
stockInfoSingleDay(singleJSONData: singleJSONData ?? nil) <---- *'nil' is not compatible with expected argument type 'StockInfoOneDay'*
}
static var pricesForOneMonth: [CGFloat] = []
static var priceForOneDay: [StockInfoOneDay] = []
func stockInfoPerDay(jsonData: StockInfo) {
CropPriceView.pricesForOneMonth.removeAll()
for data in jsonData.data{
CropPriceView.pricesForOneMonth.append(CGFloat(data.close))
}
}
func stockInfoSingleDay(singleJSONData: StockInfoOneDay){
CropPriceView.priceForOneDay.removeAll()
CropPriceView.priceForOneDay.append(singleJSONData)
}
【问题讨论】:
-
如果你想让一个参数成为可选的,那么你还需要处理它为 nil 的情况,也许使用
guard语句。所以决定当它为 nil 时应该发生什么,并编写代码来处理这种情况。
标签: ios swift swiftui optional