2017-03-15 12 views
2

私は単語が有効かどうかを判断するために辞書と単語をチェックする必要があるiOS用の単語ゲームを作ろうとしています。大きなテキストファイルを読み込む代わりに - Swift

現在、私はテキストファイルから辞書を読み込み、セットに格納しています。ただし、アプリを起動するたびに読み込むまでに数秒かかります。テキストファイルの行は約250Kです。

アプリを起動するたびにテキストファイルを読み込むことなく、データを配列やセットで利用できますか?

+0

詳細を教えてください。 –

+0

あなたはデータベースや何かにそれらを保存することができます。解析せずに常にメモリに保存します。 – user28434

+1

[このQ&A]を確認する(https://stackoverflow.com/questions/40278194/how-to-make-offline-database-for-my-app/40278645#40278645) - うまくいけば、あなたのケースに役立つはずです –

答えて

2

たとえば、コアデータを使用してワードファイルを永続化することを検討する必要があります。

アプリの最初の読み込み時に、コアデータストアにデータを読み込むことができます(ルールがユーザーに説明されている間にバックグラウンドで読み込まれる可能性があります)。

これはあなたができたら

let count = try! moc.count(for: request) 
if count = 0 { 
    loadWords() 
} 

func loadWords() { 
    // run through your words.txt file and create object(s) 
    // for each word 
} 

...あなたが開発に投入することで開始することができます事前にコアデータのデータベースを使用するにはNSFetchRequest

を使用してあなたの言葉ストアを照会することができます行われていたら、あなたのデータベースファイルをアプリケーションのリソースに追加してから、loadWords() funcを修正して、アプリケーションバンドルからコアデータストアのURLにこれらのファイルをコピーしてください。

+0

Ifコアデータを使用していますが、最初のアプリの読み込み時にデータを読み込むことはできますか? – greencardigan

+0

バンドルからCore DataのURLにファイルをコピーする[リンク](http://stackoverflow.com/questions/40761140/how-to-pre-load-database-in-core-data-using-swift-3-xcode-8) – greencardigan

+0

うん、それはかなりいいね。 –

関連する問題