Re: [問題] managedObjectContext save: EXC_BAD_AC
※ 引述《whitefur (白毛)》之銘言:
: 標題: [問題] managedObjectContext save: EXC_BAD_AC
: 時間: Tue Nov 5 16:28:31 2013
:
: 使用AFNetwroking 1.3.3的AFHttpClient – postPath:parameters:success:failure:
:
: 在第一次呼叫postPath時
:
: 於success block裡
:
: 利用[NSEntityDescription insertNewObjectForEntityForName:]建立一個object
:
:
:
: 第二次呼叫postPath時
:
: 於success block裡
:
: 執行
:
: //remove剛剛建立的object
: [moc deleteObject:object]
:
: //在跑完這一行就crash了, 出現EXC_BAD_ACCESS(code=1, address=.....)
: [moc save:&error]
:
:
: http://i.imgur.com/VtB2TSW.jpg

:
: 我猜可能是因為在不同的operation queue操作core data
:
: --
: ※ 發信站: 批踢踢實業坊(ptt.cc)
: → tom19830924:AFNetworking我記得block返回會呼叫main_queue 11/05 17:03
: → tom19830924:你先確認moc, object還在不在, moc跟appdelegate是不 11/05 17:04
: → tom19830924:是同一個實體看看 11/05 17:04
: 如果在crash之後
:
: 再重新開啟App
:
: 然後直接執行上述的第二次呼叫
:
: 就能順利刪除最一開始insert的object
終於發現問題在哪了
因為我insert完該NSManagedObject後
有對它使用KVO
ex:
MyObj *obj = [NSEntityDescription insertNewObjectForEntityForName......];
[obj addObserver:self forKeyPath:....];
[_managedObjectContext deleteObject:obj];
所以把obj delete掉才會crash
跟AFNetworking的operation queue完全沒有關係
stackoverflow上有跟我類似的問題
http://0rz.tw/bPB3h
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.230.128.111
※ 編輯: whitefur 來自: 61.230.128.111 (11/12 15:36)
※ 編輯: whitefur 來自: 61.230.128.111 (11/12 18:01)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
MacDev 近期熱門文章
PTT數位生活區 即時熱門文章