0

我正在学习 iOS 编程,不介意对最适合我的应用程序使用的类NSDictionaryCore Data. 我希望能够创建具有一组属性的记录数组。

例如,姓名:Joe Citizen,年龄:38,性别:男,职业:动物园管理员,城市:悉尼等。

我希望能够随机选择具有一个或多个属性的记录。昨晚我正在寻找一个NSDictionary解决方案,我会将属性嵌入到位映射的单词中,将其转换为字符串,然后将字符串附加到该字符串以使键唯一,例如k_stringbitpattern_uniquenumber. 为了获得随机标识符,我会生成一个随机数,将其屏蔽,将其转换为字符串等,直到我意识到它变得太麻烦了。

我是 iOS 编程新手,正在尝试考虑速度、内存使用、优雅和重用。获得经验丰富的意见会有所帮助。

如果我使用的术语不完全正确(即记录数组),我提前道歉。哦,是的,这些记录是只读的,我希望以后能够扩展我的应用程序以从网站中提取数据。任何有用的评论表示赞赏。

4

1 回答 1

1

这对于programmers.stackexchange.com来说确实是一个问题。

我对此的回答是尽可能构建最简单、最容易理解的模型,而不必担心优化。

在您的情况下,我会推荐一个NSArray普通的旧 Objective-C 对象。在您的对象类中,将所有属性设置为属性。使用NSNumber代替NSIntegerint代表数字。可以使用简单的 for 循环或-filteredArrayUsingPredicate:.

以后如果基于性能需求,切换到Core Data应该不会太痛苦。查看MagicalRecord。这是对 Core Data 复杂性的迫切需要的简化。

我不建议使用 NSDictionary 构建自己的索引。此时,您将开始编写自己的数据库。其他人已经解决了这个问题。

于 2013-05-19T12:42:07.007 回答