0
我在斯威夫特打標,這本書 「精通斯威夫特2」 以下內容:斯威夫特:標與範圍誤差
// SUBSCRIPTS WITH RANGES
struct MathTableWithRanges{
var num : Int
subscript(index : Int)->Int{
return num * index
}
subscript(aRange: Range<Int>)->[Int]{
var retArray : [Int] = []
for i in aRange{
retArray.append(self[i])
}
return retArray
}
}
// Test code
var table = MathTable(num: 5)
var myRange : Range<Int> = 2...5
print(table[myRange])
預計輸出:10,15,20,25
錯誤:無法將類型Range的值轉換爲預期的參數類型Int
注意:如果我硬編碼範圍:
print(table[2...5])
我得到不同的錯誤: 二元運算符「...」不能被應用到兩個操作數詮釋
您的代碼工作對我來說,沒有錯誤時使用正確的類名。 ([屏幕快照](https://www.evernote.com/l/AOwIY_SP5VFAVqsplnj32XCzAC_gwood_No))。檢查你的Xcode版本號,至少應該是7. – Moritz