0
self.stnIdData.index(of: self.itemAtDefaultPositionId)!
を使用して、String []内の要素のインデックスを取得します。何らかの理由で要素が配列にない場合は、エラーをスローする必要があります。 私は次のコードでそれを試してみました:「してみてください」式エラーハンドリングでString []の要素のインデックスを取得しよう
機能を投げるには、no呼び出し:
do { var indexOfSelectedId = 0 try indexOfSelectedId = self.stnIdData.index(of: self.itemAtDefaultPositionId)! var counter = 0 for currStn in self.pickerData { if(counter == indexOfSelectedId){ self.itemAtDefaultPosition = currStn } counter += 1 } print(" PV: itemAtDefaultPosition: \(self.itemAtDefaultPosition)") var defaultRowIndex = self.pickerData.index(of: self.itemAtDefaultPosition!) print(" PV: defaultRowIndex: \(defaultRowIndex)") if(defaultRowIndex == nil) { defaultRowIndex = 0 } self.stnPicker.selectRow(defaultRowIndex!, inComponent: 0, animated: true) } catch let error{ print("Error while setting ID: \(error)") }
しかし、私はこの行のXcodeで、この警告を取得しない:
try indexOfSelectedId = self.stnIdData.index(of: self.itemAtDefaultPositionId)!
を
Swiftには「String []」はありません。これは '[String]'、a.k.a. 'Array'と呼ばれ、 –
Alexander