Note that there are some explanatory texts on larger screens.

plurals
  1. POMouseUp and NSArrayController
    text
    copied!<p>How do you associate a <code>-mouseUp:</code> event with the <code>-add:</code> method of a NSArrayController? The <code>-mouseUp:</code> event lives in a different object but is <code>#import</code>'ed and instantiated in the object that holds the array being controlled.</p> <p>Usually, with an NSButton you command-drag from the button to the NSArrayController's <code>-add:</code> method but obviously this is not possible with a mouse event. <br /><br /> -- ADDED CONTENT --<br /> MATT: Thanks for the answer and on first read it made sense. Being a beginner to Obj-C/Cocoa with a procedural and NON-GUI language (PLM51 and C51 for embedded controllers) background, I'm having a hard time to grasp the practical implementation of IBOutlets and connecting. I have no problems with buttons and the like (i.e. visible things in IB) but here is what I understand: I need to declare <code>-IBOutlet NSArrayControler * arryCtrl;</code> in my myDocuments.h file. Now keep in mind, the object where I override the <code>-mouseUp</code> method is called Canvas and in myDocuments.h I have a <code>Canvas * canvas</code> declaration hence, I have a canvas object instantiated by myDocument at runtime. In IB, I drag from File's Owner (myDocument right) to ArrayController and a link is established BUT not to <code>-add:</code> as that option is not available. In the nib (myDocument) there is no object for Canvas But, in mouseUp (the canvas method), if I send a message to the IBOutput, i.e. <code>[arrayCtrl add:self]</code> arrayCtrl is not known. <br /><br /> Anyhow, I'm sure you guys are having a giggle as the answer is probably so obvious. However, I'm really trying to understand it all and realize that the problem is my novice coding. Thanks for pointing this newbie in the right direction</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload