Cocoa - idle???

Dieses Thema im Forum "Mac OS Entwickler, Programmierer" wurde erstellt von krauthaufen, 17.04.2005.

  1. krauthaufen

    krauthaufen Thread Starter MacUser Mitglied

    Beiträge:
    42
    Zustimmungen:
    0
    Mitglied seit:
    04.01.2005
    Also ich habe ein Problem:

    Ich habe ein Cocoa Tool erstellt welches Dateien konvertiert.
    Diese Konvertierung dauert ziemlich lange....
    Wie zu erwarten reagiert das gesammte Programm nicht mehr währned die Konvertierung läuft...

    Nun frage ich mich ob es so etwas wie eine "idle-Funktion" gibt?

    Kann mir irgendjemand bei diesem Problem helfen?
     
  2. andi.reidies

    andi.reidies MacUser Mitglied

    Beiträge:
    420
    Zustimmungen:
    0
    Mitglied seit:
    08.02.2005
    Zur Lösung des Problems musst Du die Konvertierungsroutine in einen separaten Thread auslagern.

    Dann läuft die Konvertierung "im Background" und Dein Programm kann noch normal weiterbenutzt werden.

    Da ich aus der Win Programmierung komme und mich auch gerade erst in Cocoa einarbeite, kann ich Dir leider KEINE Cocoa-Klassen nennen - schau doch mal unter http://developer.apple.com/documentation !

    Falls Du was gefunden hast, meld dich doch mal (...dann brauch ich dann auch nicht mehr weiter suchen ;-))

    gruss
    andi
     
  3. krauthaufen

    krauthaufen Thread Starter MacUser Mitglied

    Beiträge:
    42
    Zustimmungen:
    0
    Mitglied seit:
    04.01.2005
    Also erst mal vielen Dank für den Tipp!

    Ich habe eine Klasse gefunden: NSThread (wie könnte es anders sein)

    mit der Methode:

    Code:
    [NSThread detachNewThreadSelector: @selector(Funktionsname) toTarget: self withObject: nil];
    kann ich die Funktion aufrufen!!

    Allerdings muss die Funktion folgendes enthalten:
    Code:
    - (void) ThreadedMethod
    {
    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
    
    //Code
    
    [pool release];
    } 
    
     
Die Seite wird geladen...

Diese Seite empfehlen