5

ここに私が得ているエラーがあります

Thread 1:EXC_BAD_ACCESS (code=2, address=0xb7ffffc)

この行で

[[NSNotificationCenter defaultCenter] postNotificationName:AsyncImageLoadDidFinish
                                                        object:target
                                                      userInfo:[[userInfo copy] autorelease]];

AsyncImageView.m ファイル内。

エラーはコードを停止しますが、デバッガーで続行すると、Xcode がフリーズしてシャットダウンします。この問題を解決するにはどうすればよいですか?

4

2 に答える 2

15

init では登録する必要があり、dealloc では登録を解除する必要があります。

-(void)dealloc
{
    [[NSNotificationCenter defaultCenter] removeObserver:self name:AsyncImageLoadDidFinish  object:nil];

また

- (void)dealloc
{
    [[NSNotificationCenter defaultCenter] removeObserver:self];
}
于 2012-07-18T14:35:20.910 に答える
3

以下のコードを試してみてください。問題ないはずです。

NSDictionary * userInfo = [NSDictionary dictionaryWithObjectsAndKeys:..., nil];
[[NSNotificationCenter defaultCenter] postNotificationName:AsyncImageLoadDidFinish
                                                    object:target
                                                  userInfo:userInfo];

また:

NSDictionary * userInfo = [[NSDictionary alloc] initWithObjectsAndKeys:..., nil];
[[NSNotificationCenter defaultCenter] postNotificationName:AsyncImageLoadDidFinish
                                                    object:target
                                                  userInfo:userInfo];
[userInfo release];
于 2012-07-18T14:30:13.833 に答える