我为iPhone开发了一款基于服务器的应用程序。但是根据客户端的要求并避免在服务器端过载,我需要在本地端存储数据。它是全文,通常为2-4 MB。 为此,我使用 NSUserDefaults 而不是sqlite或CoreData。 该应用程序在开发和开发后测试期间已经成功测试了大约2-3个月,从未在iphone 3G-iphone 4S上的任何类型的iphone设备上显示任何类型的数据存储,更新或删除不一致。
现在实时应用中存在一个不合适的问题,当用户在屏幕上闲置约15-20分钟并且不按主页按钮意味着应用不在后台。 在这种情况下,数据似乎丢失了。 但是,只要刷新应用程序,在这种情况下数据会再次出现&应用程序再次开始正常运行 这里存在的主要问题是当我正在刷新时,我什么都不做,只是从服务器获取新数据,它可以只是一到五条记录,或者根本没有。 然后刷新应用程序,显示所有记录。它正常运作。
我一直试图发现这个问题大约3天,而且我的设备上没有发生这种情况(iPhone 4S)。据我所知,旧设备似乎存在问题。
以前在测试中,这些都不会发生在旧设备或新设备上。 我的问题是 -
a)我的编码是否是一种愚蠢的行为?
b)对于实时应用的数据库管理,NSUserDefaults不值得信赖吗?
c)是否与NSUserDefaults相关的设备版本特定问题?
任何人都面临/面临NSUserDefaults的问题?
请建议我能为此做些什么,或者告诉我必须使用sqlite或CoreData为下一个版本再次完成所有数据库工作。
无论如何这非常重要,需要修复。
提前感谢任何帮助。
答案 0 :(得分:0)
正如我给你的建议请介绍一下Sqlite数据库集成,因为当数据存储的大小很小而且导致它好而不是Sqlite但它没有处理大量的数据那时候必须使用Sqlite或者是coredata。
所以我建议使用Sqlite数据和coredata。