使用文本文件作为一组值 swift
Using a text file as a set of values swift
我正在从事一个项目,该项目选择一个或多个包含已输入(用户)的词keywords.That这就是我使用一组的原因。但该集是土耳其语词典。也就是说,它包含 68k 个单词(最常用)。如何使用文本文件中的数据来避免过载?
你问的不是很清楚
如果您想从文本文件中加载单词,您应该考虑使用 NSString 的字符串解析方法。 NSString 方法 componentsSeparatedByString:
将使用指定的字符串作为分隔符将一个大字符串分解成一个数组。 (您可以使用“\n”来分隔不同行的单词,或使用“”来用空格分隔单词。)
如果你想要一个集合,很容易加载一个包含数组中的项目的集合。
不过我建议使用数组 arc4random_uniform 到 select 随机选择其中一项。
像这样
var working_array: = [String]()
let path = "your_path"
let textFile = NSString(
contentsOfFile: path,
encoding: NSUTF8StringEncoding,
error: nil)
let full_array = textFile.componentsSeparatedByString("\n")
正在加载随机词数组
if working_array isEmpty
{
working_array += full_array
}
正在获取一个元素:
let random_index = arc4random_uniform(working_array.count)
a_word = working_array.removeAtIndex(random_index)
我正在从事一个项目,该项目选择一个或多个包含已输入(用户)的词keywords.That这就是我使用一组的原因。但该集是土耳其语词典。也就是说,它包含 68k 个单词(最常用)。如何使用文本文件中的数据来避免过载?
你问的不是很清楚
如果您想从文本文件中加载单词,您应该考虑使用 NSString 的字符串解析方法。 NSString 方法 componentsSeparatedByString:
将使用指定的字符串作为分隔符将一个大字符串分解成一个数组。 (您可以使用“\n”来分隔不同行的单词,或使用“”来用空格分隔单词。)
如果你想要一个集合,很容易加载一个包含数组中的项目的集合。
不过我建议使用数组 arc4random_uniform 到 select 随机选择其中一项。
像这样
var working_array: = [String]()
let path = "your_path"
let textFile = NSString(
contentsOfFile: path,
encoding: NSUTF8StringEncoding,
error: nil)
let full_array = textFile.componentsSeparatedByString("\n")
正在加载随机词数组
if working_array isEmpty
{
working_array += full_array
}
正在获取一个元素:
let random_index = arc4random_uniform(working_array.count)
a_word = working_array.removeAtIndex(random_index)