如何使用Xcode iPhone Simulator测试持久性内存

时间:2013-04-11 14:21:15

标签: iphone ios objective-c xcode persistence

我有一个自定义对象的NSMutableArray保存到持久性内存中,如下所示:

- (void)applicationDidEnterBackground:(UIApplication *)application
{
        [NSKeyedArchiver archiveRootObject:[PlayerMenuController savedPlayers] toFile:@"/Users/Dec/Library/Application Support/iPhone Simulator/6.0/Applications/9BC31B2A-/savedPlayers"];
}

加载然后进行测试,如下所示:

NSMutableArray *loadedArray = [NSKeyedUnarchiver unarchiveObjectWithFile:@"/Users/Dec/Library/Application Support/iPhone Simulator/6.0/Applications/9BC31B2A-/savedPlayers"];
if (loadedArray != nil)
{
    [[PlayerMenuController savedPlayers] setArray:loadedArray];
}


for (int i = 0; i < [[PlayerMenuController savedPlayers] count]; i++)
{
    Player *p = [[PlayerMenuController savedPlayers] objectAtIndex:i];
    NSLog(@"%@ %u",[p getName],[p getSaveId]);
}
NSLog(@"%u",[[PlayerMenuController savedPlayers] count]);

为了测试这个,我打开我的应用程序,将一些对象保存到阵列中,最小化应用程序,然后通过任务管理器/双击主页关闭应用程序。当我再次打开我的应用程序时,调试器显示为已分离,我的断点或NSLog都没有被调用。

如何通过多种用途调试我的应用程序,以便测试我的应用程序保存和加载数据的能力?

2 个答案:

答案 0 :(得分:1)

只需通过XCode再次以调试模式运行应用程序。不要通过单击模拟器上的应用程序图标来运行它。如果您不更改代码,则无法重建。您将拥有相同的捆绑和设置。

此外,按下XCode中的“停止”按钮可停止应用程序,而不是在模拟器中将其关闭。

答案 1 :(得分:0)

您可以在以下位置查看模拟器“内容”:

~/Library/Application Support/iPhone Simulator/

然后你必须通过进入每个目录来猜测你的应用目录。然后查看Documents文件夹下的内容。你的plist应该在那里。