【问题标题】:Swift: Dictionary with many itemsSwift:包含许多项目的字典
【发布时间】:2016-03-21 14:47:57
【问题描述】:

我正在尝试制作一个应用程序, 它侧重于学习单词。现在我有一个大约 4000 行的大文本文件,我想让我的应用程序能够读取它。首先,我将文本文件转换为 swift 语法,使其成为字典(我使用常规文本编辑程序完成此操作),但是当我尝试将其复制到 .swift 文件中时,xcode 停止响应,并且当文本最终被复制时,在我将文本减半之前它不会编译。将此文本文件导入我的应用程序的最佳方法是什么?

【问题讨论】:

  • 嗨,大卫,欢迎来到 Stack Overflow。你在这里有一个有趣的问题。不幸的是,它不符合堆栈溢出minimal reproducible example,因此它可能不会被很好地接收。为了获得最佳结果,请务必在提问之前阅读How to Ask! :)
  • 您应该使用 plist 文件来存储您的字典
  • Xcode 真的不喜欢复制粘贴大量文本,或者查找/替换大量文本。我也在做一个有大约 5000 行静态文本的项目。就我而言,它存储在Array 中。我最终决定创建几个文件并在每个文件中存储部分文本。一个简单的函数将每个部分附加到最终数组中。我不知道这是否是要走的路。但这并没有让 Xcode 感到不安。
  • 请看这个:stackoverflow.com/questions/24045570/swift-read-plist,我想应该对你有帮助。

标签: ios xcode swift dictionary


【解决方案1】:

我通常不会回答此类开放式问题,但我会这样处理您的问题。

  • 将您的文本文件创建为 rtf 或 txt 格式(无论您喜欢哪种格式)
  • 在该文本文件中逐行添加所有单词
  • 将该文本文件添加到您的 Xcode 资源目录。 (将其拖放到您的项目中)
  • 现在您在 Xcode 代码中所做的是读取该文件的每一行并将其添加到一个数组中。

这里有一些示例代码可以帮助您入门。 (目标-C)。祝你好运哥们。

NSString* path = [[NSBundle mainBundle] pathForResource:@"my_big_text_file" ofType:@"rtf"];

NSString* content = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:NULL];

content=[content stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];

//put this string into an array
NSArray *tempArray1 = [content componentsSeparatedByString:@"\n"];

【讨论】:

  • 不要使用 RTF。使用纯文本。
猜你喜欢
  • 1970-01-01
  • 2019-01-17
  • 2020-06-18
  • 1970-01-01
  • 2018-08-14
  • 2020-12-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多