If I'm entering data for a new entry, I should be able to cancel creating that entry and not have to save it, go back, then delete it. A cancel button is required here. It should also be clear how to save this new entry, "back" and "close" buttons are not going to communicate "save new entry". Use "done" like the iOS Contacts app.
If I'm editing data for an existing entry there are two options. Either I can edit directly, or there is a split between view and edit modes.
The latter, split, approach requires both "done" and "cancel", just like the UI for new entries. Contacts uses this approach.
In the edit directly case, it might be better to have neither but provide only a "back" button. If your app is about storing user entered data, that should be its main focus and it should be easy. If you can do without a save button, I would omit even that. Just save everything I put in and store it for me. Especially on iOS devices I may be distracted, have to answer a phone call, etc., and I don't want to fear losing any work when that happens.
However, if complex data is entered, or it is critical in any way, you may want to have a submit action before any changes are stored. This would require both save ("the new data is correct so please store it") and cancel ("I made a mistake").