2012-04-06 14 views
1

私のプロジェクトをARCに変換した後の私は確かに愚かな問題です。この方法は、最初の行でクラッシュし始めました。loadNibNamed:所有者: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 

誰かが私に間違っていることを教えてもらえますか?

答えて

0

あなたの配列がゼロの保持カウントを使用して作成されているので、割り当てが解除され、self

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

あなたはnilに所有者を設定しているので、私は推測しているにnilからowner:パラメータを変更してみてください直ちに。

+0

残念ながら、それは役に立たなかった。同じクラッシュ。 – mbcrute

2

さて、それを眠った後、私はちょうどペン先を削除し、それが助けられているかどうかを確かめるためにやり直すことにしました。私はこの問題を引き起こすためにARCへの変換が何をしたのか分かりませんが、Nibを削除してゼロから再作成することで問題は解決しました。

+0

同じ問題が発生し、削除してからやり直してください! -_- – Marc

0

私は同じ問題がありました。通常、nibファイルに矛盾がある場合に発生します。私の場合は、IBOutletsを介してヘッダーファイルで削除したオブジェクトにまだ接続されていたボタンがいくつかありました。お役に立てれば。

関連する問題