我认为首先要描述一下我正在尝试做什么,然后再问我的问题。
背景
我有大量的单词(可能多达5,000个)。我想能够在屏幕上显示随机的3个单词,当用户按下按钮时,它将显示另外3个随机单词,但不能重复显示(即不再向用户呈现相同的单词)。这将循环直到一个计时器运行完毕。
可能的解决方案
如果单词数量较少,我会将它们添加到NSMutableSet中,使用-anyObject 3次获取单词,然后每次从集合中删除这3个单词,以便在下次调用-anyObject时不再使用。但是问题在于我不知道是否可以在iOS中拥有包含5,000个NSString的集合。
问题
所以我的问题是:
- 我可以在iOS中拥有大约5,000个字符串的集合对象(NSSet、NSArray、NSDictionary)而没有任何性能问题吗?
- 如果不行,我该如何从文件中读取子集字符串来获得可接受的数组大小,然后在清空该数组后提取更多的内容?
- 最佳存储这些字符串的方法是什么?它们只是单词,所以不是很长。我考虑将它们添加到一个文件中,每行一个字符串,并在应用程序加载时将它们读入到集合对象中。
提前感谢您的帮助。