我正在开发一个游戏应用程序,我在其中使用 NSCountedSet 作为我的角色清单,其中清单在视图之间动态变化。
换句话说:用户可以从视图 1 中购买项目并添加到库存中,然后用户切换到视图 2 并使用一些项目,这些项目应该从库存中删除,依此类推。
我的问题是:
1.如何有效地将 NSCounted 集写入和读取到 plist?
2.在视图 1 关闭时将数据写入磁盘并在视图 2 打开时重新读取数据的最佳方法是什么?或者有没有办法在应用程序启动时读取数据一次,进行所有更改,然后在应用程序终止时将数据保存回来?
数据仅由字符串和数字组成,数量很少。以下是我的代码片段:
- (void) initInventory
{
//initialize the inventory with some string objects
[Inventory addObject:@"x"];
[Inventory addObject:@"y"];
[Inventory addObject:@"z"];
}
- (void) addItemToInvetory:(NSString*)ItemName
{
//add object passed in method to the inventory
[Inventory addObject:ItemName];
}
- (void) removeItemFromInventory:(NSString*)ItemName
{
//add object passed in method to the inventory
[Inventory removeObject:ItemName];
}