What is good about iPhone is that virtually all knowledge about Cocoa/Objective-C programming on Mac can be used. However, there are some differences, and they often make things confusing.
The most visible and famous one will be UIView / UIWindow vs. NSWindow / NSView.
As a Windows programmer ( hey.. why not? Most Mac programmers should be also Windows programmers. ), I should also consider CWnd, CWindow, CView, and so on. ( Still I don’t understand their design philosophy on the CWnd and CWindow. Why did they name the CWnd as CWnd? It is more about behaviour not visual thing. So, it should be like CWindowAction or CObjectAction. )
Anyway, so things are more confusing. :)
But here is more. How to manage objects connected with Interface Builder on iPhone? Or sometimes if you are addicted to iPhone programming and go back to Mac programming, you use the background knowledge used for iPhone for the Mac. Mostly they are the same, but there are subtle difference.
So, here I would like to post a link to documents which explains about it. ( just for convenience )