1

プロジェクトを ARC に変換した後、愚かな問題であると確信しています。このメソッドは最初の行でクラッシュし始めました:

- (MyView*) loadMyView
{
    NSArray* elements = [[NSBundle mainBundle] loadNibNamed:@"MyView" owner:nil options:nil];

    return (MyView*)[elements objectAtIndex:0];
}

これは、ARC に変換する前は問題なく機能していました。シミュレーターでアプリがクラッシュし、次のメッセージが表示されます。

[CFArray release]: message sent to deallocated instance

誰が私が間違っているのか教えてもらえますか?

4

3 に答える 3

2

まあ、寝た後、ペン先を削除して最初からやり直して、それがうまくいくかどうかを確認することにしました。ARC への変換がこの問題を引き起こした原因はわかりませんが、Nib を削除して最初から再作成すると、問題は解決しました。

于 2012-04-06T13:55:26.667 に答える
0

owner:パラメータをからnilに変更してみてくださいself

NSArray* elements = [[NSBundle mainBundle] loadNibNamed:@"MyView" owner:self options:nil];

所有者をnilに設定しているため、配列は保持カウント0で作成されているため、すぐに割り当てが解除されていると思います。

于 2012-04-06T05:05:17.970 に答える