This is a great read before you start on your project.
In particular it talks about:
- Good coding practices when dealing with memory. When to use init vs autoreleased objects.
- Managing memory with retain/release/copy.
- When you use weak reference vs strong ones (eg. delegates).
- Using Clang to debug your code.
- Other ways to make your development more friendly when you throw memory errors.
http://akosma.com/2009/01/28/10-iphone-memory-management-tips/