CountryInfoManager.m 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. //
  2. // CountryInfoManager.m
  3. // UUT
  4. //
  5. // Created by zhuge on 14/9/14.
  6. // Copyright (c) 2014年 com.woodenperon. All rights reserved.
  7. //
  8. #import "CountryInfoManager.h"
  9. #import "CountryInfo.h"
  10. @implementation CountryInfoManager
  11. - (instancetype)init
  12. {
  13. self = [super init];
  14. if (self) {
  15. // NSArray *keyArray = @[@"af", @"am", @"be", @"bg", @"ca", @"cs-CZ", @"da-DK", @"el-GR", @"et", @"fi-FI", @"hr", @"iw-IL", @"no-NO", @"rm", @"sk", @"sl", @"sr", @"sv-SE", @"sw", @"zu"];
  16. NSArray *keyArray = @[@"af", @"am", @"be", @"bg", @"ca", @"cs-CZ", @"da-DK", @"el-GR", @"et", @"fi-FI", @"hr", @"iw-IL", @"no-NO", @"sk", @"sl", @"sr", @"sv-SE", @"sw", @"zu"];
  17. // NSArray *keyArray = @[@"af", @"am"];
  18. // self.ignoreLanguages = @[@"en-US", @"am", @"en-GB", @"rm", @"en-AU", @"ky-KG"]; // 吉尔吉斯,阿姆哈拉
  19. self.ignoreLanguages = @[];
  20. self.countryInfos = [NSMutableArray arrayWithCapacity:0];
  21. self.keyLanguages = [NSMutableArray arrayWithCapacity:0];
  22. NSString *path = [[NSBundle mainBundle] pathForResource:@"CountryInfo" ofType:@"plist"];
  23. NSDictionary *dic = [NSDictionary dictionaryWithContentsOfFile:path];
  24. NSArray *arr = [dic objectForKey:@"Countries"];
  25. for (NSDictionary *d in arr) {
  26. CountryInfo *ci = [CountryInfo createWithDic:d];
  27. [self.countryInfos addObject:ci];
  28. if ([keyArray containsObject:ci.shortName]) {
  29. [self.keyLanguages addObject:ci];
  30. }
  31. }
  32. }
  33. return self;
  34. }
  35. - (NSArray *)displayNameArray {
  36. NSMutableArray *ma = [NSMutableArray arrayWithCapacity:0];
  37. for (CountryInfo * ci in self.countryInfos) {
  38. [ma addObject:[ci displayName]];
  39. }
  40. return ma;
  41. }
  42. - (CountryInfo *)countryInfoWithDisplayName:(NSString *)displayName {
  43. for (CountryInfo * ci in self.countryInfos) {
  44. if ([[ci displayName] isEqualToString:displayName]) {
  45. return ci;
  46. }
  47. }
  48. return nil;
  49. }
  50. - (CountryInfo *)countryInfoWithShortName:(NSString *)shortName {
  51. for (CountryInfo *ci in self.countryInfos) {
  52. if ([shortName isEqualToString:ci.shortName]) {
  53. return ci;
  54. }
  55. }
  56. return nil;
  57. }
  58. @end