|Jul 17, 2008, 06:37 PM||#1|
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
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........
I'm getting crazy with this problem.
|Jul 18, 2008, 05:22 AM||#2|
Yea. I have founded a solution. Well , I try to explain with my bad english.
this is the pseudocode:
[NSTimer scheduledTimerWithTimeInterval:0.01 target:self selector:@selector(separatedThread userInfo:nil repeats:YES];
NSString *line = [input readlineWithTimeout:0.01];
if(line == NULL)//timeout
//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 ?
|Thread Tools||Search this Thread|
|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|
All times are GMT -5. The time now is 06:54 AM.