0

仕事に取り掛かろうとしていますpresentPopoverFromRectが、メモリアクセスが悪いためにクラッシュし続けます。(EXC_BAD_ACCESS)

コードは次のとおりです。最後の行はクラッシュする場所です。

- (void)showChat:(id)sender {

chat = [[PopupChatController alloc] initWithStyle:UITableViewStylePlain];

chat.chatDelegate = self;

self.chatPopover = [[UIPopoverController alloc] initWithContentViewController:chat];

CGRect myRect = CGRectMake(50, 0, 225, 25) ;

[self.chatPopover presentPopoverFromRect:myRect inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];

}

gdbを使用して、との保持カウントを調べましself.viewself.chatPopover

例えば。

p (int)[self.view retainCount]

どちらも問題ありません(> 0)。だから私はここで何が起こっているのか完全に困惑していますか?

誰かが助けてくれるなら、私はそれをとても感謝しています。

また、余談ですが、XCodeでゾンビオブジェクトを有効にしました([製品]>[スキームの編集]>[診断]>[ゾンビオブジェクトを有効にする] )が、コンソールのゾンビ変数で出力が得られません。多分私は間違った場所を探していますか?

それについてのアドバイスもいただければ幸いです。

前もって感謝します。

4

2 に答える 2

0

可変チャットのメモリリークがあります。

次のコードを試して、ローカル変数としてチャットを作成してください。

- (void)showChat:(id)sender {

  PopupChatController *chat = [[PopupChatController alloc]    initWithStyle:UITableViewStylePlain];

  chat.chatDelegate = self;

  self.chatPopover = [[UIPopoverController alloc] initWithContentViewController:chat];

  [chat release]; //since it's retained in the UIPopoverController

  CGRect myRect = CGRectMake(50, 0, 225, 25) ;

  [self.chatPopover presentPopoverFromRect:myRect inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];

}

于 2012-11-22T01:19:06.990 に答える
0

ちなみに、プロパティchatPopoverをretainとして定義しましたか?

于 2012-11-22T01:22:14.567 に答える