2

NSNotificationCenterで通知を送信すると、NSDictionaryではなくNSMutableDictionaryをuserInfoとして渡すとクラッシュする可能性がありますか?NSMutableDictionaryを使用するとNSNotificationCenterがクラッシュする理由はありますか?

- (void)postNotificationName:(NSString *)aName object:(id)anObject userInfo:(NSDictionary *)aUserInfo; 

私は、次のクラッシュログを見ている:

Exception Type: SIGSEGV 
Exception Codes: SEGV_ACCERR at 0xffffffffe0000008 
0 libobjc.A.dylib      0x31516fbc objc_msgSend + 16 
1 Foundation       0x3195b50f __57-[NSNotificationCenter addObserver:selector:name:object:]_block_invoke_0 + 19 
2 CoreFoundation      0x37a02577 ___CFXNotificationPost_block_invoke_0 + 71 
3 CoreFoundation      0x3798e0cf _CFXNotificationPost + 1407 
4 Foundation       0x318cf3fb -[NSNotificationCenter postNotificationName:object:userInfo:] + 67 
+0

クラッシュログには他の情報があります(たとえば、クラッシュの種類は何ですか?例外がスローされますか?など)。 –

+0

これはSIGSEGVです。 –

+2

NSMutableDictionaryインスタンスが有効(つまりリリースされていない)で、その内部のデータも有効ですか?最後のパラメータに 'nil'を渡すとクラッシュしますか? – dasblinkenlight

答えて

3

あなたの観察者がアプリをクラッシュされているようです。 deallocの前にオブザーバーリストから削除しましたか?

+0

うん、報酬執行人はさようならされています。 –