簡體   English   中英

在 Swift 中處理大數組

[英]Handling large array in Swift

我有一組大約 275,000 個元素的英文單詞,我需要將它們用於我用 Swift 編寫的 iOS 應用程序。 但是,Xcode 似乎無法處理這么大(3+ MB)的文件。 該文件不會在 Xcode 中打開,當我嘗試編譯該應用程序時,它似乎無限期地編譯並且永遠不會構建。

我該如何處理如此大量的數據?

不要在你的 swift 源代碼中放置一個巨大的文字數組。

相反,創建一個文本文件,將其作為資源拖到您的項目中,然后打開它並在運行時使用components(separatedBy:)將其轉換為數組。

為了速度和存儲效率,您可以編寫一個轉換實用程序來讀取您的文本文件並使用components(separatedBy:)將其轉換為一個Array of Strings 然后你可以將Strings數組寫入二進制 plist。

然后,您可以將 plist 文件作為資源拖到您的項目中,並編寫代碼在啟動時將 plist 文件讀入Array

把它放在一個文件中並在運行時讀取它怎么樣? 例如,將元素放入 JSON 數組並將該數組存儲在文本文件中。 將文件拖入您的 Xcode 項目,然后在編譯期間將其復制到應用程序包中。 從文件中讀取 JSON 數組並在運行時解析它。

互聯網上有很多關於讀取包中的文件和解析 JSON 數據的教程。

將其存儲在文件中不要使用array !,使用Set(可以在顯示之前進行排序)。 如果必須使用數組,請考慮https://www.hackingwithswift.com/example-code/language/how-to-split-an-array-into-chunks使用多線程進行處理。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM