So, thinking about how I'd approach the "enemy drops an item" problem, I would try to:
1) Create an "Item" sprite, with separate animations for each item type (e.g. coin, dagger, bomb), and naming the animations appropriately
2) put the item type as an instance variable in an enemy
3) upon killing the enemy, spawn "Item" object, then set the animation to whatever I need - e.g. "coin".
Then, if your "Item"s have different functionalities, you can easily code these by checking what animation your "Item" is playing.
This allows easy adding new item types, just by adding new animations.