Game, multiple object. explanation inside.

Hi, this is my first post here.
I am currently trying to develop a game, my first game for the iPhone (I developed a few small apps, kind of utility apps for the iPhone/iPod). Anyways in my game I have multiple object, 10 bullets at max and like 5 more enemy objects.
The object are represented on screen as UIImageViews, I hold all of the object in arrays... an array for bullets and an array for enemies.
I am manipulating my arrays via a timer, 1/60 timer that updates the position for each object, bullets and enemies, and checks for collisions.
The moment there is a collision I remove the collided images from the view, remove them from the arrays and then release - but in the removing method I get obj_error... I tried debugging it and it removes and releases the bullet perfectly but when I remove and release the enemy object, it get the error when I release it.
Any ideas? the methods are written quite the same just with diff objects.

You do realize you're calling [nil release] in both of those cases, right? Due to the Objective-C runtime checking for nil selectors, this won't actually crash, but it won't do what you want it to either. I don't understand why you'd explicitly set a local variable to nil at the end of a function, either.

Also, NSMutableArray retains items that are added to it and releases them when removed, so it generally makes more sense to allow your array to be the sole owner of your object by releasing it immediately after adding it. When you remove it from the array, it gets released and deallocated without you having to release it again yourself.