我使用的是iOS 5时,Xcode 4.2错误在国际化iPhone
在我loginViewController:
-(IBAction)loginButton:(id)sender{
textClass=[[MainScreenController alloc ] init];
NSLog(@"ShowText called");
textClass.selectedLanguage=currentLanguage;
[self.view addSubview:textClass.view] ;
NSLog(@"txtclaslan=%d",textClass.selectedLanguage);
}
在我MainViewController viewDidLoad:
方法:
mainScreenTitle.text=[self languageSelectedStringForKey:@"screenTitle"];
而且在languageSelectedStringForKey:
-(NSString*) languageSelectedStringForKey:(NSString*) key{
NSString *path;
if(selectedLanguage==ENGLSIH_LANGUAGE)
path = [[NSBundle mainBundle] pathForResource:@"en" ofType:@"lproj"];
else if(selectedLanguage==TURKISH_LANGUAGE)
path = [[NSBundle mainBundle] pathForResource:@"tr" ofType:@"lproj"];
else
path = [[NSBundle mainBundle] pathForResource:@"en" ofType:@"lproj"];
NSBundle* languageBundle = [NSBundle bundleWithPath:path];
NSString* str = [languageBundle localizedStringForKey:key value:@"" table:nil];
return str;
}
这里在这个方法languageSelectedStringForKey
当我加载MainViewController我的应用程序崩溃。我没有得到任何错误,只是这条线突出显示
NSBundle* languageBundle = [NSBundle bundleWithPath:path]; < Thread 1
这是什么问题?
在此先感谢
看着你的代码,似乎如果语言不是英语而不是土耳其语,那么路径没有设置。 – onnoweb 2012-02-01 16:16:54
我同意onnoweb,你的'路径'变量没有设置,当不是英语或土耳其语,当你试图打开一个文件,应用程序崩溃。 – Niko 2012-02-01 16:28:56
好吧,我已经添加了它,它现在没有崩溃,但这是一个国际化未得到正确实施的问题 – 2012-02-01 16:36:08