所以我有這個陣列var arrayItinerario: Array<Any> = [] ,它旨在保存型別的陣列Itinerario, var temporalArray: Array<Itinerario> = []
接下來,這arrayItinerario將在稍后用于訪問來自Itinerario陣列temporalArray型別的結構中的屬性。
cell.siteLabel.text = "\([arrayItinerario[indexPath.section]][indexPath.row].ubicacion)"
問題是這arrayItinerario不是一個Itinerario型別物件,它使得無法訪問ubicacion我嘗試過的示例
let object = [arrayItinerario[indexPath.section]][indexPath.row] as! Itinerario
但是強制轉換會引發錯誤。如何訪問temporalArray內部陣列中的屬性arrayItinerario?
注意:我使用 indexPath 因為我正在填充表格單元格
uj5u.com熱心網友回復:
這是我在幾個專案中使用的實作:
import Foundation
class Array2D<T> {
var cols:Int, rows:Int
var matrix:[T?]
init(cols: Int, rows: Int, defaultValue:T?) {
self.cols = cols
self.rows = rows
matrix = Array(repeating: defaultValue, count: cols*rows)
}
subscript(col:Int, row:Int) -> T? {
get{
return matrix[cols * row col]
}
set{
matrix[cols * row col] = newValue
}
}
func colCount() -> Int { self.cols }
func rowCount() -> Int { self.rows }
}
因為它是通用的,所以您可以在其中存盤您喜歡的任何型別。示例Ints:
// Create 2D array of Ints, all set to nil initially
let arr = Array2D<Int>(cols: 10, rows: 10, defaultValue: nil)
uj5u.com熱心網友回復:
var arrayItinerario: [[Itinerario]] = []
//fill data
var temporalArray: [Itinerario] = []
arrayItinerario.append(temporalArray)
cell.siteLabel.text = "\(arrayItinerario[indexPath.section][indexPath.row].ubicacion)"
或者
var arrayItinerario: Array<Any> = []
var temporalArray: Array<Itinerario> = []
guard let temp = arrayItinerario[indexPath.section] as? Array<Itinerario>{
return
}
cell.siteLabel.text = "\(temp[indexPath.row].ubicacion)"
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/416821.html
標籤:
