Register FAQ / Rules Forum Spy Search Today's Posts Mark Forums Read
Go Back   MacRumors Forums > Apple Systems and Services > Programming > iPhone/iPad Programming

Reply
 
Thread Tools Search this Thread Display Modes
Old Jul 17, 2008, 06:37 PM   #1
alvises
macrumors newbie
 
Join Date: Jul 2008
NSThread blocks interaction

Well, about uiview update and nsthread: I want to do an example to show better the BIG problem:

I start a thread with

[NSThread detachNewThreadSelector:@selector(mainloop toTarget:self withObject:nil];

This "mainloop" method is like

-(void)mainloopid)object{
while(YES){
NSString *line = [stream readLine];
//console is UITextView object
console.text = line;
}
}

Well, when I start the thread the application continues to work. When i receive the first line (and then when the thread modify for the first time a object of the GUI) the USER interaction is BLOCKED. All the GUI (bottons, tables, not only "console textview") is refreshed ONLY every while loop and (when i receive another line) and then if I want to see the update i have to wait the next line........
Why ?
I'm getting crazy with this problem.
Thanks.

Alvise
alvises is offline   0 Reply With Quote
Old Jul 18, 2008, 05:22 AM   #2
alvises
Thread Starter
macrumors newbie
 
Join Date: Jul 2008
Yea. I have founded a solution. Well , I try to explain with my bad english.

this is the pseudocode:

-(IBAction)methodInMainThreadid)button{
[NSTimer scheduledTimerWithTimeInterval:0.01 target:self selector:@selector(separatedThread userInfo:nil repeats:YES];
}

-(void)separatedThreadNSTimer*)timer{
NSString *line = [input readlineWithTimeout:0.01];
if(line == NULL)//timeout
return;

//process the string
}


In this case i write the code of a "readLineWithTimeout:" method. This method waits for a input for 0.01 seconds, after that returns and the gui will be updated.
The POSIX function to use to "select" the input and know if it goes in timeout is "select()" function -> "man select".

I don't know if is the best way to resolv the problem.... a thread looping every 10 millisecs is not the best way i think.... but it works!
Any comment ?

Thanks.

Alvise
alvises is offline   0 Reply With Quote

Reply
MacRumors Forums > Apple Systems and Services > Programming > iPhone/iPad Programming

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Similar Threads
thread Thread Starter Forum Replies Last Post
User interaction inside app Pebs iPhone/iPad Programming 2 May 29, 2014 08:33 PM
iCloud turned off with no interaction cdp1276 iPhone 0 Oct 7, 2013 08:39 AM
Internet Interaction Blakeasd iPhone/iPad Programming 1 May 14, 2013 06:17 PM
How many of you use facebook interaction and question about iPhone 4 users. gc15 iPhone 3 Apr 23, 2013 10:35 AM
Animating UIButton whilst not disabling interaction gwelmarten iPhone/iPad Programming 1 Mar 25, 2013 11:48 AM

Forum Jump

All times are GMT -5. The time now is 05:53 AM.

Mac Rumors | Mac | iPhone | iPhone Game Reviews | iPhone Apps

Mobile Version | Fixed | Fluid | Fluid HD
Copyright 2002-2013, MacRumors.com, LLC