2013-07-21 6 views
2

내 코코아 응용 프로그램 내에서 Finder 윈도우에서 선택된 파일 목록을 검색하려고합니다. 나는 그것을하기 위해 다음과 같은 방법을 찾았지만 참기 힘들 정도로 느리다.코코아 앱에서 찾기 도구를 사용하여 selecetd 파일 목록을 효율적으로 검색하는 방법은 무엇입니까?

FinderApplication * finder = [SBApplication applicationWithBundleIdentifier:@"com.apple.finder"]; 
    SBElementArray * selection = [[finder selection] get]; 
    NSUInteger count = [selection count]; 

    NSArray * items = [selection arrayByApplyingSelector:@selector(URL)]; 
    NSMutableArray *filePaths =[[NSMutableArray alloc] init]; 
    for (NSString * item in items) { 
     NSURL * url = [NSURL URLWithString:item]; 
     [filePaths addObject:[url path]]; 
    } 

가장 비싼 전화, 현명한 시간은 작업 할 때

선택은 많은 수의 파일에 만들어 질 때 방법은 말 그대로 긴 시간에 대한 응답
SBElementArray * selection = [[finder selection] get]; 

이, 그것도 수행 너무 잘 나던입니다 작은 선택도.

가장 중요한 찾기 창에서 선택한 모든 파일의 URL을 가져 오는 더 좋은 방법이 있습니까?

파일 URL을 가지고 있어야 해당 파일에 대한 작업을 수행 할 수 있습니다.

도움이 될 것입니다.

는 감사

답변

0
당신은 사과 스크립트를 사용할 수

tell application "Finder" 
    get selection 
end tell 

또는

: 내가 테스트 불구하고 단지 스크립트에서, 내가 게시 된 코드와 동일
osascript -e "tell application \"Finder\" to return selection" 
+0

첫 번째 예는 여기에이 질문을하기 전에 관련된 지연이 있습니다. 스크립트는 여전히 Finder로 이동하여 Get 명령을 실행합니다. 그것은 나에게 보이지만 그래도 여전히 느립니다. –

+0

그런 다음 selcted 항목을 가져 오기 위해 파인더 안에 코드를 삽입해야합니다. 마하 인젝션을 한번보세요. –