我每次单击按钮时都会加载UIViewController
:
NearMe * temp = [[NearMe alloc] initWithNibName: @"NearMe" bundle:nil];
我使用位置解析一些XML,然后将值分配给NSMutableArray
,其中填充UITableView
。
我在viewDidLoad
方法上解析XML,但我不需要每次都解析它,因为值不会改变。如果数组是nil
,我只想解析它,所以我将以下检查:
if (allLocations == nil) ....
因此只在必要时解析XML,但每次按下后退按钮(在UINavigationController
中)都会删除数组中的所有对象....我不知道为什么这种情况正在发生......
答案 0 :(得分:1)
由于您的应用每次都在创建一个新的NearMe
实例,allLocations
实例变量在nil
中始终为viewDidLoad
(顺便说一下,这只是_view
如果nil
实例变量是NearMe
),则调用。
如果您不想每次都重新创建数组,那么您的应用需要将其缓存到其他位置。有几种可能性是将数组存储在创建{{1}}实例的对象中,或者将其存储在静态变量中。