Arrays Swift-表达式解析为未使用的l值

Arrays Swift-表达式解析为未使用的l值,arrays,swift,Arrays,Swift,整个代码中使用的数组stockPriceDate1..4是相同的。获取最后两个条目的l值错误。是我的列表标点错了吗 func sChart(chart: ShinobiChart!, dataPointAtIndex dataIndex: Int, forSeriesAtIndex seriesIndex: Int) -> SChartData! { return seriesIndex == 0 ? stockPriceData1[dataIndex]:

整个代码中使用的数组stockPriceDate1..4是相同的。获取最后两个条目的l值错误。是我的列表标点错了吗

func sChart(chart: ShinobiChart!, dataPointAtIndex dataIndex: Int, forSeriesAtIndex seriesIndex: Int) -> SChartData! {
    return seriesIndex == 0 ?
        stockPriceData1[dataIndex]: 
        stockPriceData2[dataIndex]; 
        stockPriceData3[dataIndex];    <- Expression resolves error...
        stockPriceData4[dataIndex]     <- Expression resolves error...
}
func-sChart(图表:ShinobiChart!,数据点索引数据索引:Int,ForSeriesIndex系列索引:Int)->SChartData!{
返回序列索引==0?
股票价格数据1[dataIndex]:
股票价格数据2[dataIndex];

stockPriceData3[dataIndex];让我们以不同的方式重写代码:

return seriesIndex == 0 ? stockPriceData1[dataIndex] : stockPriceData2[dataIndex]

let _ = stockPriceData3[dataIndex]
let _ = stockPriceData4[dataIndex]
请注意,返回值为
stockPriceData1
stockPriceData2
。由于未使用其结果,
stockPriceData3
stockPriceData4
中的下两个下标将被忽略

这段代码绝对不是你想象的那样

如果要使用
系列索引
获取正确的数据数组,则需要使用
开关
,例如

switch seriesIndex {
   case 0:
      return stockPriceData1[dataIndex]
   case 1:
      return stockPriceData2[dataIndex]
   case 2:
      return stockPriceData3[dataIndex]
   case 3:
      return stockPriceData4[dataIndex]
   default:
      return nil // should never happen
}
或者使用数组:

let data = [stockPriceData1, stockPriceData2, stockPriceData3, stockPriceData4]
return data[seriesIndex][dataIndex]

让我们以不同的方式重写代码:

return seriesIndex == 0 ? stockPriceData1[dataIndex] : stockPriceData2[dataIndex]

let _ = stockPriceData3[dataIndex]
let _ = stockPriceData4[dataIndex]
请注意,返回值为
stockPriceData1
stockPriceData2
。由于未使用其结果,
stockPriceData3
stockPriceData4
中的下两个下标将被忽略

这段代码绝对不是你想象的那样

如果要使用
系列索引
获取正确的数据数组,则需要使用
开关
,例如

switch seriesIndex {
   case 0:
      return stockPriceData1[dataIndex]
   case 1:
      return stockPriceData2[dataIndex]
   case 2:
      return stockPriceData3[dataIndex]
   case 3:
      return stockPriceData4[dataIndex]
   default:
      return nil // should never happen
}
或者使用数组:

let data = [stockPriceData1, stockPriceData2, stockPriceData3, stockPriceData4]
return data[seriesIndex][dataIndex]