EXC_BAD_ACCESS
iNytt hadde en bug som gjorde at applikasjonen krasjet etter en stund, jeg brukte litt tid på å finne feilen da den oppsto rimelig random.
![]()
Feilmeldingen var som følger: EXC_BAD_ACCESS.
Denne feilmeldingen oppstår da du har releaset er objekt flere ganger enn du har retainet det. Altså hvis du releaser er objekt som ikke finnes i minne. Det er ofte problemer med å finne feilen da feilmeldingen ikke forteller hvor i koden du har gjort den. Du må derfor gå igjennom din kode for å sjekke, en god mulighet til å gjøre en liten oppvask med andre ord.;)
I mitt tilfelle hadde jeg greid å lage en dealloc metode i en klasse der jeg hadde releaset alle objektene en gang tidligere.
Et kjapt tips for å unngå denne feilmeldingen er å huske på denne regelen:
- Hvis du bruker alloc, copy eller retain på et objekt må du alltid release objektet med release eller autorelease. Så lenge du bare mottar et objekt, har du ikke ansvar for å release det selv.
For mer informasjon les denne artikkelen om minnehåntering i objektive-c.
Oppdateringen til iNytt er sendt til til Apple, der den venter på godkjennelse.


