Is it worth learning Objective-c to use Cocoa? Cause Objective-c looks hard and not clean![]()
Is it worth learning Objective-c to use Cocoa? Cause Objective-c looks hard and not clean![]()
you haven't seen the legacy code i'm dealing witha lot easier to learn to use well, makes it a lot easier to write _readable_ code, and is very, very powerful.
you haven't seen the legacy code i'm dealing with
also at one point made xcode crash every time it tried to open a project, and i deduced it was due to a method name being overly long... if xcode didn't complete writing your method calls out automatically then i would say objective c is one of the slowest languages to write because you just gotta keep typing and typing and typing and getting nowhere because of the ridiculously long method names (albeit easy to read/understand)
i thought carbon was dropped altogether and so cs4 wasn't going to be released on mac, but then i must have been told wrong?
i love how when mac upgrades to the next version all your code is suddenly broken, and none of your special hardware works anymore. keeps things up-to-date and money going into apple's pockets![]()
While Apple hasn't explicitly come out and said it, they seem like they are trying to distance themselves as much as possible from Carbon and moving people towards objective-c. For example, they scratched 64 bit Carbon which basically means that if you want a native 64 bit GUI, you pretty much have to go Cocoa(You could go Java too, but then it wouldn't be native).
Re: CS4, it will be on mac, it will not be 64-bit. This is because apple decided carbon wasn't getting 64-bit support. Adobe's code needs to be dual-platform, so they've stuck to a lot of C/C++ as far as I understand it. Any Objective-C they wrote couldn't be used on Windows, and I guess the custom code they have for the interface for each platform is already enough for them to maintain. I'm sure Apple considers this a thorn in their side, because they want everything on Cocoa, and I'm sure adobe considers Apple a thorn in their side because they must support OS X but the API they use is no longer being extended dramatically to allow them to use the new whiz-bang features.
that's what we said about cs4Two things:
1) CS4 is out on the Mac now. I own a license.
I've been pleased with Obj-C/Cocoa as a development environment. Sure, the language will take a bit of time to get used to, but the framework is extremely useful, and quite powerful. It replaces a lot of the grunt work you normally have to do in C/C++ when building object models, and really takes the cake as a rapid development framework. I can prototype some apps in a couple hours, rather than days thanks to things like CoreData, Interface Builder and Bindings.
That's because Interface Builder doesn't generate any code. You're too used to things like ye olde MFC which tried to hack rapid-application development onto pre-existing frameworks.i'm not a fan of interface builder. mainly because i can't see any code that it generates. the interface just magically works or doesn't (in most of my cases it doesn't)
Obviously this is true; you can't use Interface Builder to generate example code to learn about programmatic generation of interface elements. However, that's not because Interface Builder generates the code and doesn't show it to you, it's because interface elements know how to generate themselves directly from [N/X]IB files, so that code is no more inspectable that for example how an NSTextField responds to a mouse click. I assume this stuff is all part and parcel of the NSCoder approach to saving and loading classes (which is near identical to Java's serialisation as I understand it).well... it makes it slightly harder to program interface elements without IB when you want your code to generate UI elements since you don't know how things were done in the first place and the only quick reliable source is non-existent
well... it makes it slightly harder to program interface elements without IB when you want your code to generate UI elements since you don't know how things were done in the first place and the only quick reliable source is non-existent
kinda like with core data... like how trying to add to the to-many relationships by programaticaly making an entity when a property of another has changed
Sounds like you need to assign that entity to one of your classes that subclasses NSManagedObject, so you can intercept the setter and perform actions on it. This sort of stuff /is/ documented because that is exactly what it is there for, to let you extend the behavior.
i had done that, and it worked, except when i hit undo and redo it crashed. and if i hit undo, deleted the entity then made a new one it would also crash.
Look at undo grouping (part of NSUndoManager), my guess with so little information at hand is that your edits were perceived as multiple edits, and stored separately on the undo stack. You would get your OM in a weird state if you had two linked changes, and were able to undo one at a time.