回答

0

我解決了這個問題。問題實際上是在Box2d中。對於b2BodyDef我有這樣的:

paddleBodyDef.userData = (__bridge_retained void*)paddleSprite; 

但這是不正確的(在我的情況)。正確的是這個

paddleBodyDef.userData = (__bridge void*)paddleSprite; 

此外,在dealloc方法我把

paddleBodyDef.userData = NULL; 
+0

是什麼'paddleSprite'和'userData'的類型?上面的代碼是否在ARC之下?我認爲你可能在這裏保留了'userData' ......(也許你的泄漏是由於保留週期造成的) – nielsbot 2013-03-14 05:16:33

+1

這也是很危險的,因爲你聲明精靈是弱的。如果在任何時候box2d userdata是唯一的引用到精靈,精靈解除分配和用戶數據指針變成垃圾。您的網橋保留轉換是正確的,您只需在將userdata設置爲null之前將bridge_transfer強制轉換爲-1保留計數。 – LearnCocos2D 2013-03-14 08:09:37