私は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がこのように振る舞うのを見たことはないのですが、私がこれを投稿している理由です。
関連するコードと正確な問題を投稿できますか? (Xcodeエラーまたは予期しない結果の出力) – rosslebeau
このインスタンス変数をどこで*使用していますか?それはあなたの問題である可能性が高いです。 – Chuck
それは壊れたPNGの問題であった...奇妙な副作用。 – cynistersix