Skip to main content
 首页 » 操作系统

ios之如何将文本文件用作数据库

2024年01月01日54kenshinobiy

我有一个大文本文件,将用作英语词典数据库。 (真正的字典)

用户将在搜索栏中键入一个词,应用程序将返回包含该词的文本文件的所有行。

*-每行解释一个词的意思

-有些词在我的文本文件中位于不止一行*

这是我的逻辑:

首先,我在 self.entriesFromFile(这是我的文本文件的一个字符串)中寻找单词:

var range:NSRange? = self.entriesFromFile!.rangeOfString(searchText) 

然后我找到子串:

var substring:NSString = self.entriesFromFile!.substringToIndex(range!.location) 

我将子串分成几行

var substringArray:NSArray = substring.componentsSeparatedByString("\n") 

像这样 substringArray.count 将返回找到 searchText 的当前行。我需要行号来识别字典中的单词以实现更多功能。

我使用这个逻辑是因为我需要它对用户来说是快速的,文本文件包含超过 60,000 行。

这工作正常,但它只返回已找到的第一个条目。

你能帮我找到如何返回包含搜索词的所有行号吗?

感谢您宝贵的帮助

请您参考如下方法:

// I assume that searchText already has all file content 
var lines = searchText.componentsSeparatedByString("\n") 
var lineNumber = 0 
for line in lines { 
  // It will fire 60.000 times 
  if string.rangeOfString("Some string you are searching for") != nil { 
    linesNumbers.append(lineNumber) 
 
  } 
  lineNumber++ 
}