Re: Learning the Interface Builder
Re: Learning the Interface Builder
- Subject: Re: Learning the Interface Builder
- From: Amanda Rains <email@hidden>
- Date: Wed, 02 Nov 2011 19:40:35 -0700
On Nov 2, 2011, at 6:08 PM, Conrad Shultz wrote:
> On 11/2/11 5:03 PM, Amanda Rains wrote:
>> I'm running Xcode 3.2.6 - So far there is a fair match up with Xcode
>> and what I find in Hillegass's book.
>
> OK. But be advised that it's pretty clear that Xcode 3 is on the way
> out, so if you haven't been too heavily invested yet I would recommend
> you consider looking at Xcode 4.
Understood... I'll probably keep using Xcode 3 for a little longer.
>
>> OK!... honing my questions - Well I'm not sure I can form specific
>> questions but instead sort of wave my hands about notions like
>> delegates and core data.
>
> Yeah, I know that Hillegass covers Core Data fairly early on, but I
> would probably skip over that until you feel well grounded in the
> fundamentals. If you're on the cocoa-dev list as well you can see how
> even seasoned professionals can get tripped up by it, powerful as it is.
Becoming "well grounded" is my goal.
I wasn't aware of the Cocoa-dev list - I joined.
Until just now I wasn't perceiving the difference between Xcode and Cocoa.
My purpose is to write programs that run on the Mac and utilize Unix
Clearly Xcode is a development environment while Cocoa is a Framework.
>
>> I can reason why delegates are used AND I can follow a turtorialized
>> example that includes a delegate and it runs. But there is something
>> missing when I try to use one in a program I've written without the
>> help of a tutorialize example. That is, small test programs I attempt
>> to write bring lots of new things into the mix that I really have no
>> idea what to do with.
>
> (This is probably better suited to the aforementioned cocoa-dev list.)
> Can you elaborate on what sorts of small test programs you have been
> attempting and what "new things" you are confused on?
I'll have to get back with you on the test programs after I answer your post.
>
> It's still a little unclear to me whether you are really having trouble
> with IB (e.g. the mechanics of making connections between objects) or
> with the conceptual underpinnings of delegation, responders, etc.
With regard to mechanics I understand how to open a connection panel and can Ctrl-Drag between panels and elements such as a Window or an AppController.
There is possibly more mechanics to learn but at the moment I don't know what they might be.
>
>> When I write test programs in Objective-C with no interface. When
>> things go wrong I can throw in some NSLogs or use the debugger to pin
>> point where I went wrong. I can then study the problem and correct
>> my internal model of how to write an effective Objective-C program.
>
> Sorry, I'm having trouble parsing these sentences. Are you saying that
> you do understand these things or that you are trying to learn these things?
>
> Since your question was about IB, which would not be particularly
> helpful in a no-interface app, are you saying that you don't know how to
> apply the above techniques to an application that DOES have an interface?
In the paragraph just above I am trying to point out that I am able to learn from my mistakes by isolating them - then studying what is wrong - making corrections to my code that lead to success - and thus improving on my internal knowledge model of how to write effective Object-C code. Sorry that wasn't made clear.
Yes I am saying I do not know how to use the IB to produce an effective Interface AND I don't know enough to even know how to isolate my IB mistakes to learn from them.
>
>> ...some hand waving... One thing I have noticed is I can't tell if
>> I've missed connected things with the IB. I sometimes end up in a
>> state of confusion and start "hunting and pecking" to make
>> connections work. Which is clearly a sign I don't know what I am
>> doing in the IB. I wish to know how to use the IB to make the proper
>> connections.
>
> Missing connections is far more common than you might expect (or would
> hope) and does not necessarily indicate that you don't know what you are
> doing. The problem is that IB just doesn't make it obvious when you
> forget, say, to wire up a delegate connection. This is probably because
> (with very few exceptions) such connections are not strictly mandatory.
OK... that's good to know.
>
>> What I am finding is that I'm not "groking" (from stranger in a
>> strange land) on how to utilize the IB to build an effective set of
>> connections between the Model, View and Controller. So far I haven't
>> been able to formulate an internal mode of how to utilize the IB. I
>> know it will come in time. BUT at the moment I honestly don't know
>> why, when and how to use the IB.
>
> First, let me applaud you for wanting to take the time to do it right by
> separating model, view, and controller, and for not just flailing around
> until you find something that happens to work.
>
> Since you seem to have a conceptual basis on which to build, let me ask
> if you find writing the actual code easier. If so, we can move forward
> from the perspective of "anything that you can do in IB can also be done
> in code."
Thanks for the acknowledgement, I have experience developing UI's on other platforms and have built MVC's
At the moment I find writing code easier than using the IB BUT I think it prudent I learn the IB since it appears to be a very powerful and fast tool.
I have gone through some examples where the connections were programmed in rather produced by the IB.
>
>> So I am looking for a document or book that approaches writing a
>> Cocoa program where the focus is on building my skills in IB use.
>
> Again, it's not clear that your confusion stems principally from IB but
> from Cocoa itself. What would probably help me (and others who might
> respond) is if you boil this down to a concrete example. If you have a
> simple test project that is giving you trouble, zip it up (minus the
> build directory, please) and post it to Dropbox or the like. We can
> then better understand whether this is an IB/Xcode question or something
> that we can migrate over to cocoa-dev for a code and concept discussion.
>
Well I think its a bit of both actually.
AND I will post a zipped project now that I know I can do this.
> As for learning IB in particular, something I have found helpful is to
> look at some of the sample projects that employ classes or techniques of
> interest to me. Where possible, the projects do use IB and poking
> around them can reveal which mysterious corners of the nib contain
> settings and connections of interest.
>
> Sorry, can't suggest a book better than Hillegass for learning IB basics.
>
Thanks for the poking tip - I start doing that.
> --
> Conrad Shultz
>
> Synthetiq Solutions
> www.synthetiqsolutions.com
>
Thanks for taking the time to consider what I wrote and writing back.
Amanda Rains
email@hidden
This message was generated on my Mac.
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden