-1

こんにちは、メイン ファイルから xib ファイルを表示する際に問題が発生しています。これが一部の xib ファイルで発生し、他のファイルでは発生しない理由がわかりません。

if(segment == @"1"){
    Results1 *myView1 = [[Results1 alloc]initWithNibName:@"Results1" bundle:nil];
    [self.view addSubview:myView1.view];
}else if(segment == @"2"){
    Results2 *myView2 = [[Results2 alloc]initWithNibName:@"Results2" bundle:nil];
    [self.view addSubview:myView2.view];
}else if(segment ==@"3"){
    Results3 *myView3 = [[Results3 alloc]initWithNibName:@"Results3" bundle:nil];
    [self.view addSubview:myView3.view];
}else if(segment ==@"4"){
    Results4 *myView4 = [[Results4 alloc]initWithNibName:@"Results4" bundle:nil];
    [self.view addSubview:myView4.view];
}

私のコードは最初のxibファイルが開きますが、残りは開きません。理由はわかりません.hファイルを追加しました:

#import "Results1.h"
#import "Results2.h"
#import "Results3.h"
#import "Results4.h"

デバッグ時に、アプリは次の行で終了します。

@autoreleasepool {
    return UIApplicationMain(argc, argv, nil, NSStringFromClass([TestTypingToolAppDelegate class]));
}

その後、クラッシュします。誰かわかりますか?

4

3 に答える 3

0

ビューのロードがデバイスでクラッシュすることがありますが、シミュレーターではクラッシュしないことに注意してください。この状況では、電話をかけるときに次のことを確認してください。

 initWithNibName:@"YourNibName";

nib名の文字列の大文字と小文字がnibファイルとまったく同じであること。シミュレーターはケースを無視しますが、デバイスは完全に一致する必要があります(かなり苛立たしい)

于 2012-08-10T19:43:51.177 に答える
0

アプリケーションが .xml のその行に移動したら、コンソール出力を確認する必要がありますmain.m。私にとって、それは常に私の側の間違いであり、最も一般的な間違いは1)ファイルが存在しない(Results1.xib)または2)ビューアウトレットを設定するのを忘れていました。前述したように、コンソール出力の例外の詳細が役立ちます。

于 2012-08-10T17:54:45.423 に答える
0

ティム、これはInterface Builderからの写真です。多分それはあなたを助けるでしょう:

ここに画像の説明を入力

于 2012-08-10T18:00:39.260 に答える