У меня есть UITabBarApplication по умолчанию с представлениями и вкладками по умолчанию ... и т. Д. У меня есть восемь вкладок, которые имеют настраиваемый параметр, поэтому пользователи могут изменять порядок вкладок.
Как получить порядок вкладок, сохранить его в NSUserDefaults и получить его, когда приложение снова загрузится.Я хотел бы увидеть несколько примеров кода.
Вот где я сейчас нахожусь:
- (void)applicationWillTerminate:(UIApplication *)application {
/*
Called when the application is about to terminate.
See also applicationDidEnterBackground:.
*/
NSMutableArray *vcArray = [NSMutableArray arrayWithCapacity:8];
NSArray *savedViews = tabBarController.viewControllers;
for (UIViewController *theVC in savedViews){
[vcArray addObject:theVC.title];
}
[[NSUserDefaults standardUserDefaults] setObject:vcArray forKey:@"tabLayout"];
}
- (void)tabBar:(UITabBar *)tabBar didEndCustomizingItems:(NSArray *)items changed:(BOOL)changed {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSArray *tabLayout = [defaults arrayForKey:@"tabLayout"];
NSMutableArray *orderedLayout = [NSMutableArray arrayWithCapacity:8];
NSArray *defaultOrder = tabBarController.viewControllers;
for (int i =0; i < 8; i++){
for (UIViewController *theVC in defaultOrder) {
if ([theVC.title isEqualToString:[tabLayout objectAtIndex:i]]) {
[orderedLayout addObject:theVC];
}
}
}
tabBarController.viewControllers = orderedLayout;
}
Этот код не работает в симуляторе.Я переупорядочиваю вкладки и нажимаю «Готово», затем останавливаю приложение, но когда я нажимаю «Сборка» и запускаю снова, приложение возвращается к значению по умолчанию.Почему код выше не работает?
Спасибо.