objective-c - 使用 NSDictionary 或 NSMutableArray 构建用户配置文件

标签 objective-c cocoa

我正在尝试创建一个存储个人资料信息的应用程序..

姓名:名字 姓氏
电子邮件:
部门:
标题:

最好的方法是什么?...

我正在考虑使用 NSDictionary 来获取信息。
但我不清楚如何将配置文件的所有属性组合到 NSDictionary 中...... 我会为 NAMES 创建一个 NSDictionary ,然后为 EMAILS 等创建另一个 NSDictionary 吗?

非常感谢任何见解,谢谢

最佳答案

这是针对那些建议使用结构体的人:很抱歉,如果您不打算使用 Objective-C,为什么还要费心使用 Objective-C?我不确定这种“使用结构”趋势从何而来,但当考虑使用 Cocoa API 大量操作的主要、一流的应用程序对象时,这是荒谬的。

致 OP:使用 Objective-C 类并完成它。

NSDictionary 非常适合用作模糊的容器或 map ,并且只要其中的所有内容都兼容,整个内容(容器和内容)就可以通过一行代码进行存档和取消存档。

在您的情况下,您已经知道要描述的该对象(配置文件)的一组预定义属性(甚至可能是方法),因此创建一个 Objective-C 类并使其符合 NSCoding 规范,以便您可以隐藏它您还可以利用自动行为,例如使用 -fullName 属性返回名字和姓氏的串联,同时毫不费力地参与键值观察,使用NSPredicate 过滤器、按键排序等。您还可以实现 -copyWithZone:这样 Profile 实例就可以轻松复制等。

“为什么要在钉子上使用锤子?这太浪费了。那里有很多非常好的木棍,你可以在上面放石头。”

请...只使用一个类。从长远来看,它使添加功能变得更加简单。

关于objective-c - 使用 NSDictionary 或 NSMutableArray 构建用户配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8645390/

相关文章:

ios - UITableView自定义删除按钮功能

c++ - 监视进程内的键盘事件(进程范围)

objective-c - NSThread 内存泄漏

string - 不区分大小写的 NSString 比较

macos - NSTableView:当 float subview 被删除时收到通知

ios - 不使用 ImagePickerController 获取图像

objective-c - 在 Mac 应用程序中拦截 Command-Quit?

ios - 没有从 didSelectRowAtIndexPath splitviewController 调用 ViewDidLoad

objective-c - 从xcode中的其他目录导入文件

swift - 尝试使 ScrollView 松动是快速滚动控制