Trådning i Objective-C

Tråden skapades och har fått 3 svar. Det senaste inlägget skrevs .
1
  • Medlem
  • Stockholm
  • 2009-02-10 00:48

Hej och hallå.

Håller på med en RSS-läsare i Objective-C, och önskar utföra min hämtning av artiklar i en separat tråd för att inte binda upp GUI under hämtingen.

Har tidigare skrivit en RSS-läsare med RubyCocoa, ungefär en likadan som jag gör nu, och där var det så underbart att man kunde dra igång vanliga metoder som trådar, utan att tex behöva överskugga en trådklass. Exempel på hur det såg ut med RubyCocoa:

begin
    updateThread = Thread.new{updateArticles}
    updateThread.run
rescue Exception => e 

updateArticles är i detta avseende en vanlig Ruby-funktion.

Nu undrar jag om det går att göra lika lätt för sig i Objective-C, medelnivå som i Java, eller är det OS i pekarhantering som i C/C++ som gäller?

  • Medlem
  • Stockholm
  • 2009-02-10 01:08

Har hittat motsvarande.
Efter någon timmes googlande så frågade man här, tre minuter senare hittar man det själv ändå.

Kod för ovanstående i Objective-C är som följande:

// Användning:
[NSThread detachNewThreadSelector:@selector(updateThread) toTarget:self withObject:nil];

// Metoden som körs som egen tråd:
- (void) updateThread{
  NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
  // Kod som skall köras.
  [pool drain];
}
  • Medlem
  • Göteborg
  • 2009-02-12 08:01

Ta en titt på NSOperation

http://developer.apple.com/documentation/Cocoa/Reference/NSOperation_class/Reference/Reference.html. Har hört lite rykten om att det kan finnas problem med nsoperation men jag har inte stött på några. Men en snabb google sökning på nsoperation kanske är bra.

Ursprungligen av kardan:

NSOperation Class Reference. Har hört lite rykten om att det kan finnas problem med nsoperation men jag har inte stött på några. Men en snabb google sökning på nsoperation kanske är bra.

Don't Use NSOperationQueue

RAOperationQueue, an open-source replacement for NSOperationQueue

1
Bevaka tråden