2017-10-14 62 views
0

試圖讀取由單個字符空間分隔的控制檯中的整行數據到2D數組。我曾嘗試使用split(separator:maxSplits:omittingEmptySubsequences:),但不能將其轉換爲整數。從控制檯讀取直線作爲Swift中2D數組的輸入iOS

,其具有作爲輸入看起來像這樣

1 1 1 0 0 0 
0 1 0 0 0 0 
1 1 1 0 0 0 
0 0 2 4 4 0 
0 0 0 2 0 0 
0 0 1 2 4 0 

這從控制檯讀取

的2D陣列是我試圖

var arr = [[Int]]() 
for i in 0 ... 5 { 
    var a = readLine()?.components(separatedBy: " ") 
    var arr[i] = [a?.split(separator: " ", maxSplits: 1, omittingEmptySubsequences: false)] as? Int 

} 

代碼和錯誤是

cast from '[ArraySlice]?' to unrelated type 'Int' always fails 

回答

1

試試這個

for i in 0...5 { 
    arr += readLine()!.components(separatedBy: " ").map{ Int($0)! } 
} 
0
for i in 0...5 {  
    var aux = [Int]() 

    readLine()?.split(separator: " ").map({ 
    aux.append(Int($0)!) 
    }) 
    arr.append(aux) 
}