Я получаю сбой во второй раз, когда я пытаюсь добавить определенный вид в качестве подпредставления. Авария происходит здесь:
-(void)AddAsScrollableSubContext:(UIView*)view {
[pExtendedScrollableSubContextBounds addSubview: view]; //CRASH HERE
pSubScroll.userInteractionEnabled = true;
}
во второй раз я звоню ...
[mSongContext AddAsScrollableSubContext:pEQRoot];
Поток - это что-то вроде
[mSongContext AddAsScrollableSubContext:pEQRoot];
...Load a lot of stuff
...Press a Button
...Unload a lot of stuff
[pEQRoot removeFromSuperview];
...Press a Button
[mSongContext AddAsScrollableSubContext:pEQRoot];
Когда я получаю неправильный доступ, стек вызовов выглядит следующим образом:
Оба объекта (pExtendedScrollableSubContextBounds и pEQRoot) представляются действительными. Добавление другого подпредставления в pExtendedScrollableSubContextBounds работает нормально, а вызов других операций в pEQRoot (subview, frame) также работает.
Я прочитал в objsend r0 был объектом, а r1 был селектором, поэтому я посмотрел на адрес памяти для r1 и увидел ...
Такое ощущение, что я где-то стираю память в isKindOfClass: но я не совсем уверен. Может кто-нибудь указать мне больше информации на iOS obj_msgsend? Есть ли способ, которым я могу установить точку наблюдения, чтобы ловить, когда происходит этот мусор памяти?