我正在尝试为我的iPhone应用程序实现保存状态.
我有一个名为SaveData.plist的plist文件,我可以通过以下方式读取它
NSString *pListPath2 = [bundle pathForResource:@"SaveData" ofType:@"plist"];
NSDictionary *dictionary2 = [[NSDictionary alloc] initWithContentsOfFile:pListPath2];
self.SaveData = dictionary2;
[dictionary release];
Run Code Online (Sandbox Code Playgroud)
Plist文件有成员
SavedGame这是一个布尔值,告诉应用程序这里是否确实存在有效数据(如果他们没有在游戏中退出应用程序,我不希望他们成为还原点.
分数是NSNumber.时间是一个NSNumber
Playfield是一个16个元素的NSNumber数组
如何访问NSDictionary中的这些元素?
我NSUserDefaults对iPhone 感到困惑.
我来自C/asm背景,Objective-C的东西是学习经验.
我目前正在使用NSUserDefaults存储一些字符串(对于高分表中的名称).我想开始实施"保存游戏"类型功能,这样如果用户接到电话或退出游戏片刻,他们就可以回来了.
为了恢复游戏,我有几个BOOL标志,几个ints来存储一些必要的变量,但我被困在一个我需要存储的数组.
我有一个50元素的unsigned chars 数组.int如果它能让事情变得更容易,我可以将它移动到s,但我只是没有看到它.
为了合作,NSUserDefaults我可以setBool(已经这样做了),setFloat(再次,已经这样做了)setInteger,和setObject.
显然,我可以为数组的每个元素声明键并逐个存储它们,setInteger但这真的很糟糕.解决这个问题的最佳方法是什么?而不是一个unsigned chars 数组,我不知何故尝试使用NSObject?有什么好的教程NSObject我可以阅读以更好地理解它吗?
好......
我正在iPhone上实现一个简单的OpenGL ES应用程序,最近我在Pinch Media Analytics中添加了这个应用程序.这样做有助于发现内存管理问题,我不完全确定如何处理它.
在一个完美的世界中,我的应用程序 - 在didFinishLoading中加载PNG和.CAF文件将启动,加载它的所有资源,并运行得很好.
但是,如果我的程序崩溃(这是因为我正在集成Pinch Media库)或者如果我运行Safari并打开一堆页面然后启动我的游戏,游戏将崩溃回到菜单,因为它已经没有了记忆.
在我对系统进行硬重置之前,此问题将持续存在.
你上网的默认答案是实现下面列出的didReceiveMemoryWarning方法....
- (void)didReceiveMemoryWarning
{
// default behavior is to release the view if it doesn't have a superview.
// remember to clean up anything outside of this view's scope, such as
// data cached in the class instance and other global data.
[super didReceiveMemoryWarning];
}
Run Code Online (Sandbox Code Playgroud)
但这并没有真正帮助,因为它是其他程序,而不是我的记忆.我不想发布自己的观点吗?是否有很好的描述如何处理这种情况和/或didReceiveMemoryWarning事件中发生的事情?
我是PC上用来做软件的长期Codewright用户,我最近转向iPhone开发,并且一直在学习使用Xcode.有没有办法查看当前打开文件的功能列表,以便我可以快速移动我的源文件,就像我可以回到Codewright一样?或者我必须创建书签?
基思
我有一个iOS应用程序和一个与RESTFul Web服务一起使用的Android应用程序.
当我对服务进行查询时,我得到一个返回的JSON对象.
[
{
"id": 21,
"device_id": "xxxxxxxxxxx",
"api_key": "yyyyyyyyyy",
"customer_id": 28,
"created_at": "2014-12-08T11:21:01.517Z",
"updated_at": "2014-12-13T04:40:44.295Z",
"registered_at": "2014-12-08T11:22:49.960Z",
"install_date": "2014-11-18",
"serial_number": "1121113",
"last_communication_at": "2014-12-13T04:40:44.283Z",
"avg": null,
"min": null,
"max": null,
"usage_updated_at": null,
"usage_period_days": null,
"settings_change_upload_interval": 5,
"stats_upload_interval": 1440
}
]
Run Code Online (Sandbox Code Playgroud)
iOS在检索和解析JSON信息方面没有问题.
在Android上我试图使用JSONObject来序列化我得到的响应(顺便说一句,我从URL请求获得了200的有效状态代码)
JSONObject myObject = new JSONObject(result);
Run Code Online (Sandbox Code Playgroud)
但这是一个例外,说JSONObject的格式不正确.
我有其他API调用正常工作,所以这是导致问题的特定JSONObject的问题.是因为它们中的一些值返回为null,因为它们尚未在数据库中设置?
就像我说的,这个数据包的iOS JSON序列化工作正常.