2012-03-29 24 views
0

私はsegue中に作成している私のviewcontrollerは、NSArray型のメンバー変数を変更または作成することはできません。私は任意の関数内でローカル変数を作成することができますが、membervariableを代入することはできませんし、代わりにinit内で配列を割り当てることもありません。割り当てることはできませんまたはUIViewController中にNSArrayを割り当てる

何が起こっているのですか?

これは、iOS5.1とXcode 4.3を使用しない場合にはうまくいくはずです。

- (id)initWithViewControllers:(NSArray *)newViewControllers 
{ 
    if (self = [super init]) { 
     _viewControllers = [newViewControllers retain]; 
    } 

    return self; 
} 

メンバー変数はすべて正しく設定されています。 _viewControllerには何も割り当てられません。それは常にゼロです。

Iはコード全体を含めることができないが、本質的にそのようなある:

ルートナビゲーションコントローラは、二列から選択するテーブルビューコントローラをロードするために使用されます。各行は、次に、別のビューコントローラをプッシュして、作業を行う場所をロードします。私は行をタップし、別のビューコントローラを割り当てると、エラーが発生しています。その割り当ての間、NSMutableArray型またはNSArray型のメンバ変数は作成されず、常に0x0を返します。自分自身のinitWithArray:(NSArray *)を作成して、変数を設定することはできません。

質問が妥当ではなく、変更が可能なものがない場合は、これを投票しないでください。コメントを投稿すると私は答えます。 Obj-Cがこのように振る舞うのを見たことはないのですが、私がこれを投稿している理由です。

+0

関連するコードと正確な問題を投稿できますか? (Xcodeエラーまたは予期しない結果の出力) – rosslebeau

+0

このインスタンス変数をどこで*使用していますか?それはあなたの問題である可能性が高いです。 – Chuck

+0

それは壊れたPNGの問題であった...奇妙な副作用。 – cynistersix

答えて

0

NSMutableArrayが必要ですか?

+0

いいえ、NSArrayを割り当てません。 NSMutableArrayはNSArrayです – cynistersix

0

問題が見つかりました。 UXチームは、高さや無限の高さを決めるPNGを提供しました。それらはアルファチャンネルのないpngとして表示されます。私はこれがどのように副作用であるのか分かりませんが、自分のpngファイルを使用して配列が割り当てられない問題を解決し、問題を解決しました。

もう一度、これが原因でアプリケーションに波及する原因がわかりません。

関連する問題