No, it uses "automatic reference counting"—it keeps a reference count of memory usage and frees it when it's no longer being referenced. And (for the most part) it automatically inserts the reference counting into your code during compilation. There are still some hints that you need to give it (like telling it about weak references to avoid reference loops, etc.)