Re: [問題] managedObjectContext save: EXC_BAD_AC

看板MacDev作者 (白毛)時間11年前 (2013/11/12 15:36), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
※ 引述《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)
文章代碼(AID): #1IWTfz2N (MacDev)
文章代碼(AID): #1IWTfz2N (MacDev)