0

私のプロジェクトはARCを使用しているため、保持も解放も使用できません。ViewControllerAで、ViewController Bを初期化し、そのビューをサブビューとして追加します。

ViewControllerB *viewB = [[ViewControllerB alloc] init];

[self.view addSubview:viewB.view];

そして、ViewControllerBでボタンを作成し、ユーザーがボタンをクリックすると、ビューがスーパービューから削除されます。

[self.view removeFromSuperview];

そして、結果はEXC_BAD_ACCESSです。私を助けてください、そして私の英語について申し訳ありません。

4

2 に答える 2

0

viewBはローカル変数ではないと思います。

于 2012-01-16T10:58:44.163 に答える
0

私も同じ問題を抱えています。

次のようなものを試してください。

NSLog("self.view retain count: %d", self.view.retainCount);
[self.view removeFromSuperview];
NSLog("self.view retain count: %d", self.view.retainCount);

また:

NSLog("self.view.superview retain count: %d", self.view.superview.retainCount);
[self.view removeFromSuperview];
NSLog("self.view.superview retain count: %d", self.view.superview.retainCount);

これは良い習慣ではありませんが、メモリリークエラーが発生する可能性があります... ARCを使用している場合、メモリ管理エラーから保護されません...

何かおかしいと英語でごめんなさい。

于 2012-02-12T11:08:53.623 に答える