Jak korzystać z NSAutoreleasePool w AppleScriptObjC

Zastanawiam się, jak zatrzymać inną funkcję z funkcji tła.
Ponadto muszę odpompować NSAutoreleasePool, ale nie wiem, jak to zrobić.
Myślę, że ta aplikacja czasami zamarza, jeśli nie wypuszczam puli.

property i : 0
property myLabel : missing value

on myStartButtonHandler_(sender)
    my performSelectorInBackground_withObject_("start", missing value) -- This code prevents "Stop" Button from freezing.
end myStartButtonHandler_

on myStopButtonHandler_(sender)
    -- I want to stop start() function and drain AutoreleasePool!
    -- I don't want to use "quit me" because I want to stop only start() function.
end myStopButtonHandler_

on start()
    repeat
        set i to i + 1
        myLabel's setIntegerValue_(i)
        delay 1
    end repeat
end start

Możesz pobrać kod źródłowy stąd ->https://dl.dropboxusercontent.com/u/97497395/test2.zip
Dla twojej informacji używam Xcode 4.6.3.

EDYTOWAĆ
Mój skrypt madelay 300 polecenie, więc nie mogę zatrzymać funkcji sprawdzając wartość zmiennej. Przepraszam.

EDYTOWAĆ
Pomyślałem o zatrzymaniu funkcji podczas opóźniania poleceń.

on start()
    repeat 5 times
        if i = 1 then
            error -128
        else
            delay 60
    end repeat
end start
on myStopButtonHandler_(sender)
    set i to 1
end myStopButtonHandler_

Mogę zatrzymać tę funkcję w 60 sekund, ale nie mogę jej zatrzymać, gdy tylko pchnę przycisk stop. Wciąż czekam na twoją odpowiedź.

questionAnswers(1)

yourAnswerToTheQuestion