Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 控制问题_Objective C_Cocoa_Nspathcontrol - Fatal编程技术网

Objective c 控制问题

Objective c 控制问题,objective-c,cocoa,nspathcontrol,Objective C,Cocoa,Nspathcontrol,我有一个用cocoa开发的应用程序,NSPathControl有问题 我将控件的样式设置为“弹出”,当我启动应用程序并单击路径控件时,它会显示一个弹出菜单,其中包含我设置的URL的组件。例如,对于类似file://localhost/Applications/Games/它向我展示了以下内容:我的Macbook,Macintosh HD,应用程序,游戏 现在,当我点击应用程序时,我收到一个操作,该操作返回正确的URL:file://localhost/Applications/ 问题1: 但是当

我有一个用cocoa开发的应用程序,
NSPathControl
有问题

我将控件的样式设置为“弹出”,当我启动应用程序并单击路径控件时,它会显示一个弹出菜单,其中包含我设置的URL的组件。例如,对于类似
file://localhost/Applications/Games/
它向我展示了以下内容:
我的Macbook
Macintosh HD
应用程序
游戏

现在,当我点击
应用程序时,我收到一个操作,该操作返回正确的URL:
file://localhost/Applications/

问题1: 但是当我点击Macintosh HD时,我得到一个带有双尾斜杠的URL:
file://localhost//

问题2:我得到的是相同的URL
file://localhost//
当我点击我的Macbook
项时。因此,我有两个问题:

  • 为什么Macintosh HD的URL以双斜杠结尾

  • 我如何区分在
    Macintosh HD
    My Macbook
    上的点击,以及
    My Macbook
    的正确URL是什么,Finder会显示已装入卷的列表(在我的Macbook上是
    Macintosh HD
    BOOTCAMP

  • 我已经检查了名为“SourceView”的教程,但是没有类似于
    我的Macbook
    的项目,因此我无法确定
    我的Macbook
    是否真的作为某种虚拟文件夹存在,或者我应该使用
    NSFileManager
    来获取已装入卷的列表。

    问题1:

    URL是
    file://localhost//
    因为引导卷的路径是
    /
    。这有点奇怪,但是
    file://localhost/
    (单斜杠)的意思是“本地主机上没有路径的文件”,因此您会得到
    file://localhost//
    (双斜杠)表示“本地主机上路径为
    /
    的文件”

    你真的不必担心你得到的URL的古怪之处——只要把它传递给任何需要它的人,它就会处理得很好

    问题2:


    “我的MacBook“实际上不存在-它是一个虚拟文件夹,显示已连接卷的列表,
    /Network
    ,等等。由于它不存在,因此没有有效的路径,因此您只能获取引导卷的路径。

    >URL为”file://localhost// 因为引导卷的路径是/。是的,我想了想,但我不明白的是,为什么应用程序文件夹的URL在localhost之后没有双斜杠,只是看起来很正常file://localhost/Applications/不file://localhost//Applications/And 关于#2,我仍然对如何区分“Macintosh HD”和“我的Macbook”上的点击感兴趣在我们的控制范围内。非常感谢您的回答)应该注意的是,如果NSPathControl上设置的路径以双斜杠“/”开头,它将显示“Macintosh HD>用户>用户名>示例目录”。如果路径以单斜杠“/”开头,它将显示“用户名>示例目录”。这个问题和答案帮助我明白了这一点,我在其他任何地方都没有看到它的记录。