On 4 nov. 2011, at 02:46, Conrad Shultz wrote:
Good.
The key thing to remember is that IB is, in effect, writing code
for you. When you Ctrl-drag from a table view to an app controller to
set the table view's delegate method, that's the same as writing:
[tableView setDelegate:appController];
Well, I strongly disagree with this way of describing things. The reasons is that many newcomers to Cocoa and Interface Builder have seen User Interface design tools that really generate code, in one or more source files that need to be built together
with the developer's source code.
And this is precisely where IB differs from many/most other tools. At best, what you wrote is confusing.
Here is a short excerpt from a beginner's FAQ about IB that I hope I can put online sooner than later:
Interface
Builder doesn't generate code
Some people with experience with other tools tend to assume that Interface Builder generate code that is later compiled within your app. This is not the case.
The .xib files that IB produces are later transformed into .nib files. You can call that transform step a "compile" step if you like, but .nib file doesn't contain executable code.
Interface
builder produces objects that are arranged (using pointers) in a graph exactly as you could do in code. But what IB archives is the resulting object graph, not the code that could be used to produce it.
Indeed,
some clever code is used to archive that object graph from memory (IB does that) and later resurrect it back into memory (Cocoa in your app does that).
Jean-Denis