In which case those dynamically built UIs should be built within controllers, not in the view. If you are dynamically adding or removing UI elements in your UI this is the responsibility of the view controller. So you either add a controller object…
@Pat: The point is, if the GUI editor is any good you shouldn't need to drop down to editing the MXML to enter binding expressions, do refactoring etc. You can enter bindings for Cocoa in interface builder and Xcode's refactoring support refactors N…
For all intents and purposes NSCell is no longer needed. It was useful in the 80s and early 90s when computers were quite slow, but with computing power now there's not a huge benefit. This is why the iPhone has completely forgone them in favour of…
@Pat Any UI editor that leads you to edit its output by hand fails at its job. The advantage of IB is that you never need to drop down into the NIB file to edit it.
To use an example from a Cocoa book, it's not unusual in C++, Java, C# etc to see a method like:
x.intersectsArc(35.0, 19.0, 23.0, 90.0, 120.0);
You can't tell what any of those values mean, you either need comments or to look up in documentation.…
I'll give you the NSNumber. I've filed a feature request in Apple's issue tracker asking for easy creation of NSNumber objects by doing something like @1.0, similar to how an NSString can be created with @"foo". That said, you can use [NSNumber numb…
If Apple was to use a more recent starting point then it likely would forego both Java and C# and use a language that is a much better fit for Cocoa such as Ruby or Python, but as these are scripting languages it makes it a bit harder to manage, esp…
Actually, it isn't a case of send and hope for the best. You have all the introspection tools to test before hand, but if you don't then there are methods like forwarding and dynamic method creation that allow you to handle unimplemented methods bef…
I'd argue that having these dynamic featured hacked on rather than being fundamental to the language like in Obj-C, Smalltalk, Ruby etc, means thatbthey aren't use as pervasively as they should be. Defining the actions that an object performs or con…
The reason Apple uses Objective-C is because it is highly dynamic. C# inherited much from Java, which took quite a bit from Obj-C (eg Java interfaces are almost an identical copy of Obj-C protocols). However, the one thing Java didn't take was the k…