2015-10-24 132 views
0

有沒有辦法設置數組的最大索引大小。例如,我有一個UIImage數組,但我只希望數組存儲6個圖像。我將如何設置對該陣列的限制,以便它只能容納6個圖像陣列最大索引Swift

+1

可能的重複http://stackoverflow.com/questions/30035193/swift-create-a-fixed-length-array-enforced-at-compile-time或http://stackoverflow.com/問題/ 24395105 /如何對創建-A-固定大小的陣列 - 的對象。 –

+0

謝謝sir @MartinR –

+0

如果你真的需要編譯時檢查恆定長度數組,我建議查看依賴類型,[這篇文章很棒](https://bigonotetaking.wordpress.com/2015/09/04/in-哪個 - 我誤解依賴類型/)是關於你想要的(甚至有一個遊樂場版本:D) – Kametrixom

回答

1

沒有這樣的功能。你必須實現它自己:

if array.count < 6 { 
    array.append(element) 
} 

或者是:

while array.count >= 6 { 
    array.removeFirst() 
} 
array.append(element) 
+0

謝謝!我意識到這一點後,我發佈了問題 –

0

初始化您的數組的6大小,然後做下列檢查中的任何一個:

  • 檢查元素插入新元素之前數組的數量
  • 您可以使用帶有「ArrayIndexOutOfBounds」異常的try/catch塊來環繞插入代碼克處理
+1

你不能在Swift中捕捉這樣的錯誤..只有'throw'的函數可以拋出一個錯誤 – Kametrixom