小编K2D*_*tal的帖子

从plist文件中读取数据

我正在尝试为我的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中的这些元素?

iphone objective-c

16
推荐指数
1
解决办法
2万
查看次数

是否有更好的方法将一堆东西放入NSUserDefaults?

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 cocoa cocoa-touch objective-c

6
推荐指数
1
解决办法
637
查看次数

iPhone内存管理确实收到了内存警告

好......

我正在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事件中发生的事情?

iphone memory-management

3
推荐指数
1
解决办法
1万
查看次数

我可以在Xcode中获取功能列表吗?

我是PC上用来做软件的长期Codewright用户,我最近转向iPhone开发,并且一直在学习使用Xcode.有没有办法查看当前打开文件的功能列表,以便我可以快速移动我的源文件,就像我可以回到Codewright一样?或者我必须创建书签?

基思

iphone xcode

1
推荐指数
1
解决办法
3509
查看次数

在Android应用程序中抛出JSONException

我有一个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序列化工作正常.

java rest android json

0
推荐指数
1
解决办法
189
查看次数