Evaluates forms in the scope of a temporary autorelease pool.
objc
with-autorelease-pool (option*) form* => values
option⇩ |
There are currently no options. |
form⇩ |
A form. |
values |
The values returned by the last form. |
The macro with-autorelease-pool
creates a new autorelease pool and evaluates each form in sequence. The pool is released at the end, even if a non-local exit is performed by forms. An autorelease pool is provided automatically for the main thread when running CAPI with Cocoa, but other threads need to allocate one if they call Objective-C methods that use autorelease.
The "description"
method returns an autoreleased NSString
, so to make this function safe for use anywhere, the with-autorelease-pool
macro is used:
(defun object-description (object) (with-autorelease-pool () (invoke-into 'string object "description")))
LispWorks Objective-C and Cocoa Interface User Guide and Reference Manual - 01 Dec 2021 19:38:32