objective c - Accessing NSProgressIndicator located in NSPersistentDocument from another class -


in application build, i've created terminalcontroller subclass of nspersistentdocument. in terminalcontroller there outlet of nsprogressindicator connected instance of progress indicator in main window nib. progress indicator serve determinate progress placed in terminalcontroller class, because want various classes use in process of uploading or downloading data server.

there 1 class used uploading images - imageuploader - suppose trigger progress indicator located in main window nib , connected terminalcontroller.

my problem cannot seem figure out how access progress indicator in terminalcontroller imageuploader. can't create instance of imageuploader in main window nib , connected there, imageuploader gets initialised , released in code.

there must way of accessing object think. 1 of idea make progress indicator global instance, aware structure point of view wrong , not recommended.

i appreciate suggestions regarding issue

here sample of code

terminalcontroller subclass of nspersistentdocument

@interface terminalcontroller : nspersistentdocument{     iboutlet nsprogressindicator *loadingindicator; } @property (retain, nonatomic) nsprogressindicator *loadingindicator;  @implementation terminalcontroller  @synthesize loadingindicator;  - (void)dealloc {     [loadingindicator release];     [super dealloc]; } 

imageuploader class

@interface imageuploader : nsobject{     ...      nsprogressindicator  *progressindictor; // progress indicator should point terminalcontroller progress indicator }  @implementation customxmlrequests  - (void) uploadimage:(nsurl *)withurl{     ...      // how point progress indicator located in terminalcontroller subclass of nspersistentdocument     [progressindictor setusesthreadedanimation:yes];     [progressindictor startanimation:self];     [progressindictor setminvalue:0.0];     [progressindictor setmaxvalue:1.0]; }  - (void)connection:(nsurlconnection *)connection     didsendbodydata:(nsinteger)byteswritten   totalbyteswritten:(nsinteger)totalbyteswritten  totalbytesexpectedtowrite:(nsinteger)totalbytesexpectedtowrite{     double prgrs = (double)totalbyteswritten/totalbytesexpectedtowrite;     [progressindictor setdoublevalue:prgrs];     [progressindictor displayifneeded]; } 

if can't make direct xib connection (via iboutlet 1 view controller other), next best bet either use "nsnotifications" pass along message interested observers (i.e. imageuploader terminalcontroller), or can have terminalcontroller somehow register delegate imageuploader , update progress indicator way.


Comments

Popular posts from this blog

c# - SVN Error : "svnadmin: E205000: Too many arguments" -

c++ - Using OpenSSL in a multi-threaded application -

All overlapping substrings matching a java regex -