在iOS中放置几百个数组声明以获得最佳性能?

时间:2013-07-11 14:21:34

标签: ios objective-c viewwillappear

我需要为我的应用程序提供二维查找表。我想尽可能简单地做到这一点,所以我只做了一系列数组,然后只需要在该数组中调用适当的数组和位置。但是,这需要大约500个数组......这是一个代码片段:

 NSArray *key_1 = [[NSArray alloc] initWithObjects:@"1",@"0.5038",@"0.8054",@"4.51",nil];
 NSArray *key_2 = [[NSArray alloc] initWithObjects:@"1",@"0.4869",@"0.8009",@"4.7",nil];
 NSArray *key_3 = [[NSArray alloc] initWithObjects:@"1",@"0.4708",@"0.7967",@"4.9",nil];
 NSArray *key_4 = [[NSArray alloc] initWithObjects:@"1",@"0.4554",@"0.7926",@"5.09",nil];
 NSArray *key_5 = [[NSArray alloc] initWithObjects:@"1",@"0.4407",@"0.7889",@"5.27",nil];
 NSArray *key_6 = [[NSArray alloc] initWithObjects:@"1",@"0.426",@"0.7853",@"5.46",nil];
 NSArray *key_7 = [[NSArray alloc] initWithObjects:@"1",@"0.4133",@"0.7819",@"5.65",nil];

但是,我有两个问题。首先,如果这500个数组声明导致应用程序暂时挂起,我应该在哪里放置此代码,以便在首次启动时仍然在应用程序的启动屏幕上执行?那会在viewWillAppear吗?

第二个(这可能更像是一个新问题),如果我将这些数组声明放在viewWillAppear或我的FirstViewController.m中的其他方法中,我怎么能让它们可以访问我的SecondViewController中的方法。米?

谢谢!

1 个答案:

答案 0 :(得分:0)

所以你有两个选择

首先:您可以在不同的线程(而不是主线程)上加载这些数组。您可以使用GCD创建新线程并将这些数组作为块传递给您。通过这样做,你可以解决你的第一个问题“瞬间挂起”。

第二:正如Mrunal所说:“尝试使用plist文件。以字典格式(Key-Value)将数据写入其中。并使用特定密钥仅获取所需数据。”

我喜欢第二个选项,但如果你有动态数组,请使用第一个选项。

相关问题