plist 属于 iPhone 但如何在 cocos2d-android 游戏引擎中使用?
这可能吗?
plist 文件是“属性列表”文件。它们处理 Foundation 常见的集合/类型:NSDictionary、NSArray、NSString、NSNumber、NSDate、NSData。
每当您需要一些配置文件、一些值列表或键->值时:plist 是首选方式(plist 是数组或字典)基础类实现NSCoding
协议,因此反序列化非常容易:
+arrayWithContentsOfFile:
+dictionaryWithContentsOfFile:
方法。和另一种方式,序列化:
writeToFile:atomically:
Plist 是一种存储结构、数据、对象和任何其他需要永久存储在设备中的信息的方式。在 iPhone 中,它主要用作 Sqlite 数据库的替代品。在 iOS 中,每个 Xcode 项目中都有 info.plist 默认文件,它包含项目设置,如 Bundle ID、支持的方向和更多元素。我们可以创建自己的 Plist,例如 User.plist,它将存储用户名和密码等。在 Cocos2D 中,plist 用于游戏设置、关卡、分数保存目的。这是一个如何从资源中保存的 plist 获取数据的示例。
NSString *path = [[NSBundle mainBundle] bundlePath]; NSString *dataPath = [path stringByAppendingPathComponent:@"GameData.plist"];
NSDictionary *infoDict = [[NSDictionary dictionaryWithContentsOfFile:dataPath]retain];
plist 和 nsDictionary 是一样的,如果我没记错,那么 NSDictionary 就是 plist 的替代品。
所以使用 NsDictionary,两者的生命周期是相同的,但是读取 plist 和写入 plist 是耗时而不是 NSDictionary。