Cocoa / Finder: странный путь

#objective-c #cocoa #path #finder #scripting-bridge

#objective-c #cocoa #путь #поисковик #скриптинг-мост

Вопрос:

я запрашиваю у finder текущее местоположение окна finder / путь / что угодно с

 NSString *path = [[finder insertionLocation] get];
  

что приводит к такому пути:

 2011-06-03 18:38:55.132 CutIt[1980:903] <FinderFolder @0x1561d960: FinderFolder "eike" of FinderFolder "Users" of startupDisk of application "Finder" (185)>
  

есть ли общий способ преобразовать это в полезный путь, например /users/eike , или я должен сам что-то исправить?

Ответ №1:

Немного вложенный, но вы можете разделить его по своему усмотрению:

 NSString *path = [[NSURL URLWithString:[[[finder insertionLocation] get] URL]] path];
  

Комментарии:

1. спасибо, что работает, хотя xcode предупреждает меня о несовместимых указателях

Ответ №2:

На случай, если кому-то интересно, вот способ получить путь без предупреждения о приведении:

 NSURL *insertLocation = [[[finder insertionLocation] get] URL];
NSString *path = [[NSURL URLWithString:[NSString stringWithFormat:@"%@",insertLocation]] path];