ARC로 AppleScriptObjc에서 자동 복구 풀을 만들고 싶지만 유지할 수 없습니다. 이 여기에 코드입니다 : 코드에서ARSC로 AppleScriptObjc에서 @autoreleasepool
property NSAutoreleasePool : class "NSAutoreleasePool"
script AppDelegate
...
on buttonClicked_(sender)
set pool to NSAutoreleasePool's alloc()'s init()
...
pool's drain()
end buttonClicked_
end script
,이 디버그 오류가있어 :
-[NSAutoreleasePool retain]: Cannot retain an autorelease pool (error -10000)
내가 봤을 내가 "[[NSAutoreleasepool의 ALLOC] 초기화]가"ARC없이에만 사용할 수 있습니다 발견 대신 "@autoreleasepool"을 ARC 및 ARC없이 사용할 수 있습니다.
Objective-C에서는 @autoreleasepool을 사용할 수 있습니다. 예 :
int main()
{
@autoreleasepool {
...
}
}
그러나 AppleScriptObjc이없는이 '{'또는 '}', 그래서 우리는 @autoreleasepool을 사용할 수 없습니다. 그러나, 나는 그것을 시도하고, 나는 오류가 발생했습니다.
코드 :
@autoreleasepool
...
오류 :
error: Expected “end” but found unknown token. (-2741)
가 어떻게 AppleScriptObjc에 @autoreleasepool을 사용할 수 있습니까?
방금 배우기는했지만 ARC를 사용하면 자동 풀이 필요하지 않습니다. 왜 그걸 필요로하니? – Kaydell
그 이유는이 코드로 백그라운드에서 함수를 실행했기 때문입니다.'performSelectorInBackground_withObject _ ("function", AppDelegate)' 자동 풀이 생성됩니다. – usingsystem8