iPhone中出现错误

iPhone中出现错误,iphone,objective-c,ios,cocoa-touch,internationalization,Iphone,Objective C,Ios,Cocoa Touch,Internationalization,我使用的是iOS5,XCODE 4.2 在我的loginViewController中: -(IBAction)loginButton:(id)sender{ textClass=[[MainScreenController alloc ] init]; NSLog(@"ShowText called"); textClass.selectedLanguage=currentLanguage; [self.view addSubview:textClass.vie

我使用的是iOS5,XCODE 4.2

在我的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);
}
在my Main ViewController
viewDidLoad:
方法中:

mainScreenTitle.text=[self languageSelectedStringForKey:@"screenTitle"];
语言中选择StringForkey:

-(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;
}
在这个方法中,当我加载MainViewController时,我的应用程序崩溃了。我没有收到任何错误,只是这行高亮显示

NSBundle* languageBundle = [NSBundle bundleWithPath:path];    < Thread 1
NSBundle*languageBundle=[NSBundle-bundleWithPath:path];<线程1
这有什么问题

提前感谢

建议:
看看你的代码,如果语言不是英语也不是土耳其语,那么路径就没有设置

您可能还希望遵循[NSBundle localizedStringForKey:value:table:]方法说明中的以下建议:


“使用用户默认NSShowNonLocalizedStrings,当方法找不到本地化字符串时,您可以更改localizedStringForKey:value:table:的行为以记录消息。如果您将此默认值设置为“是”(在全局域或应用程序域中),然后当该方法在表中找不到本地化字符串时,它会将消息记录到控制台,并在返回它之前将键大写。”

查看您的代码,如果语言不是英语而不是土耳其语,则不会设置path。我同意onnoweb,如果不是英语或土耳其语,则未设置您的“path”变量,并且当您尝试打开文件时,应用程序会崩溃。好的,我已经添加了它,它现在不会崩溃,但有一个问题是国际化没有得到正确的解决implemented@onnoweb:你应该把你的评论作为回答,因为它可能是正确的。另外,请注意,由于path是一个局部变量,它是一个垃圾指针(而不是零指针)。thanx onnoweb但是如何解决我遇到的问题,该语言没有得到正确的实现。实际上,我面临的问题是,当我点击土耳其语按钮并登录到我的应用程序时,它会以土耳其语显示标题一秒钟,然后这些标题消失,并再次以英语显示标题。第二个问题是上次应用的语言应该保留,这样当用户返回应用程序或启动应用程序时,该语言应该是最后应用的语言。但它不是这样工作的。