2012-12-11 5 views
0

ASOC을 사용하여 클래스의 + initialize 메서드를 재정의하려고 시도하고 있지만 클래스 메서드를 재정의 할 수있는 방법을 찾을 수 없습니다. 심지어 가능할까요?AppleScriptObjC를 사용하여 클래스 메서드를 만들려면 어떻게해야합니까

내가 이야기하고있는 언어에 대한 가능한 혼란이 들어 가지 않도록, 여기에 몇 가지 코드입니다 : 그대로, 이상한 나는 몇 가지 테스트를 수행했습니다, 그리고 지금까지 내가 말할 수있는

script FLAppDelegate 
    property parent: class "NSObject" 

    -- -- Class Methods -- -- 
    -- Insert code here 

end script 

답변

1

, AppleScriptObjC를 사용하여 정의 된 메소드는 클래스 및 인스턴스 메소드입니다.

- (void)callASOC 
{ 
    iTunesControllerInstance = [NSClassFromString(@"iTunesController") new]; 
    [iTunesControllerInstance playpause]; 
    [iTunesControllerInstance release]; 
} 

- (void)callASOC 
{ 
    [NSClassFromString(@"iTunesController") playpause]; 
} 

은의 playpause 핸들러를 호출합니다 : 모두, 오브젝티브 C 방법에서

script iTunesController 
    property parent: class "NSObject" 

    on playpause() 
     tell application id "com.apple.iTunes" to playpause 
    end playpause 
end script 

:

의이 내가 AppleScriptObjC 파일이 있다고 가정 해 봅시다 AppleScriptObjC 파일. 후자의 공식은 컴파일 시간을 경고하지만 작동합니다.

이 문제를 확인하거나 논박하는 문서를 찾을 수 없습니다. NSClassFromString을 생각 나게 @Friziab에

0

감사

그래서 나는 AppleScriptObjC를 사용하지 않는 (스크립트) (NSView의 서브 클래스)

다른 클래스에서 내 AppDelegate.applescript에 AppleScriptObjC 메소드를 호출 할 수 그래서 그것을하는 적당한 방법이 있을지도 모르지만 이것은 일했다

current application's NSClassFromString("AppDelegate")'s popWindow()