• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Interface Builder Outlets
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Interface Builder Outlets


  • Subject: Re: Interface Builder Outlets
  • From: Boyd Collier <email@hidden>
  • Date: Thu, 15 Dec 2005 21:11:48 -0800

I, too, am a newbie, at least with respect to cocoa and OOP, and I had been struggling for some time with a problem having to do with making connections between objects. However, I've had quite a bit of experience programming in C, and I recently solved my problem by drawing on that (rather rusty) background. The relevance to Jonathan's question and John's comment is this (and please tell me if I'm off base): Outlets are pointers; that is, they are addresses of other stuff, e.g. objects. Thus, to say, as John did, that one can think of an outlet as being an object is somewhat misleading; it's really a pointer to an object. This may become important in connecting up an object that is "created" by using a nib to another object that is perhaps created programmatically. I'll send a longer explanation to Jonathan separately, but if anyone else is interested in taking pot-shots at what I've said, let me know.

Boyd


On Dec 15, 2005, at 2:19 PM, John Pannell wrote:

Hi Johnathan-

The short answer is no. In code, you let your objects know in their ivars that you are going to be using IB to connect them. So if you had an object (an instance of MyObject, lets say) that needed to know about one of its views (an instance of MyView), then in your header you would have...

@interface MyObject : NSObject {
IBOutlet MyView *superCoolView;
}

The "IBOutlet" keyword lets the compiler(?) know that the connection is being established in IB.

Any object (a window, a view, a button) you drag/drop into IB is already alloc'ed and init'ed. I don't really think of outlets as being objects, per se, but rather a substitute for alloc/init. If you didn't use IB to drag and drop and hook things up, you'd need to do something like this in your code...

superCoolView = [[MyView alloc] initWithFrame:NSMakeFrame(20, 20, 100, 100)];

IB saved you the line of code, plus gave you the ability to visually see the frame of the view, rather than specify it numerically.

Hope this helps!

John

On Dec 15, 2005, at 3:03 PM, Jonathan Faulkenberry wrote:

Hi all. This is a very newbie question concerning basic Cocoa concepts. When I create an outlet in Interface Builder, is it necessary to alloc and init it?

Jonathan



_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
40positivespinmedia.com

This email sent to email@hidden

_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
40sunstroke.sdsu.edu

This email sent to email@hidden


_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden
  • Follow-Ups:
    • Re: Interface Builder Outlets
      • From: j o a r <email@hidden>
    • Re: Interface Builder Outlets
      • From: Bergmann Manfred <email@hidden>
References: 
 >Interface Builder Outlets (From: Jonathan Faulkenberry <email@hidden>)
 >Re: Interface Builder Outlets (From: John Pannell <email@hidden>)

  • Prev by Date: Moderator EOT (WWDC 2005 DVDs [OT])
  • Next by Date: Re: Interface Builder Outlets
  • Previous by thread: Re: Interface Builder Outlets
  • Next by thread: Re: Interface Builder Outlets
  • Index(es):
    • Date
    • Thread