【问题标题】:iPhone user history database (SQLite? Core-Data?)iPhone 用户历史数据库(SQLite?Core-Data?)
【发布时间】:2011-08-28 11:58:59
【问题描述】:

在我的 iPhone 应用程序中,用户可以从网站上提供的大量音频点播节目列表中进行选择,这些节目按扬声器、节目名称和星期几排序。

我希望该应用拥有最近收听的节目的历史记录,以便用户可以跟踪他已经收听的内容,包括访问的日期和时间。

当用户处于他选择的最后阶段时,我在内存中有三个可用的 NSString:

NSString *程序; NSString *speakerName; NSString *weekDay;

每次用户收听不同的音频文件时,我如何构建一个数据库、一个历史访问、存储这 3 个字符串(加上日期、时间和播放音频的分钟数),这样他就可以获得一个列表他播放的节目?

我正在阅读有关 iPhone 的 SQLite 和 Core Data 的信息,但我不确定这是否是可行的方法,因为我每次只需要在数据库中保存一些元素。

有谁知道这样做的示例 xCode 项目?我应该学习什么来完成这项任务?

任何建议/指南将不胜感激。谢谢!

【问题讨论】:

    标签: iphone cocoa-touch sqlite core-data nsstring


    【解决方案1】:

    对于这么简单的事情,您应该使用NSUserDefaults

    基本上,NSUserDefaults 为您提供了一个字典,您可以将这些对象的 NSStrings、NSDates、NSNumbers 或 NSDictionarys 或 NSArrays 放入其中。要使用它,您可以执行类似的操作

    [[NSUserDefaults standardUserDefaults] setValue:myString forKey:@"myKey"];
    

    然后,您可以通过以下方式访问该值:

    [[NSUserDefaults standardUserDefaults] valueForKey:@"myKey"];
    

    【讨论】:

    • 太好了,谢谢!我会试一试,然后告诉你。问题:只要安装了应用程序,它就保存数据吗?它可以像最近 5 个听到的音频节目一样保存,还是只能保存最后一个?再次感谢您帮助我。
    • 只要安装了应用程序,用户默认值就会被保留,是的。因此,从设备中删除应用程序将清除它们。您还可以通过将值设置为 nil 以编程方式清除它们。用户默认设置可能会与设备备份一起备份……我认为可能是,但我不确定。
    • 感谢您的帮助,现在就可以了,因为它只会存储最后一次访问,因为它会覆盖之前的访问。
    猜你喜欢
    • 1970-01-01
    • 2011-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-11
    相关资源
    最近更新 更多