0

これがしばらくの間最後の質問になることを願っています。次の方法でxibファイルを開きます。

Results1 *myView1 = [[Results1 alloc]initWithNibName:@"Results1" bundle:nil];
    [self.view addSubview:myView1.view];

2 番目の xib ファイルにボタンがあります。

-(IBAction)Button1:(id)sender
{

    [self.view removeFromSuperview];
}

毎回クラッシュします:

0xecf09b:  movl   8(%edx), %edi

ビューがリンクされています

これが問題かどうかはわかりません:

@interface TestTypingToolViewController ()

{
    NSString *iResults1;
    NSString *iResults2;
    NSString *iResults3;
    NSString *iResults4;
    NSString *iResults5;
    NSString *Segment;
    NSDictionary *ResultsData;
}

@end

皆様、ご協力ありがとうございました!

4

3 に答える 3

2

問題は、自動参照カウントをオフにする必要があり、すべてが機能したことです。

于 2012-08-14T17:55:09.467 に答える
0

ゾンビに問題があるようです。つまり、ある時点で割り当てが解除されたオブジェクトが、(ぶら下がっている)参照を介してアクセスしようとしています。ゾンビの検出を有効にすることで、より多くの情報を得ることができます。

実際、私の推測ではResults1 *myView1、クラスのプロパティに格納することでこれを修正できると思います。実際、あなたのコードでは、何が起こるかというと、は;myView1.viewによって保持されます。self.viewwhilemyView1はローカル変数に格納されるため、変数が使用されなくなった場合は、オブジェクト(ARCの下)の割り当てを解除する必要があります。ここでは、2つのオブジェクトの有効期間の間に不一致があり、これがクラッシュにつながる可能性があります。

于 2012-08-10T20:45:03.220 に答える
-2

ClassName.h

@property (nonatomic, strong) UIViewController *myView1;

ClassName.m

@synthersize myView1;

// -(void)viewDidLoad で

self.myView1 = [[Result1 alloc] init];
[self.view addSubview:self.myView1.view];
于 2012-11-21T22:44:27.233 に答える