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
Swift 为什么可以';我不能从ViewController访问我的应用程序委托吗?_Swift_Cocoa - Fatal编程技术网

Swift 为什么可以';我不能从ViewController访问我的应用程序委托吗?

Swift 为什么可以';我不能从ViewController访问我的应用程序委托吗?,swift,cocoa,Swift,Cocoa,在我的应用程序中,我想从视图控制器访问委托方法,但当我尝试以这种方式访问它时: let appDelegate = NSApplication.sharedApplication().delegate 我得到了nil,这是什么原因造成的 使用其他信息编辑: 当我创建应用程序时,我犯了一个错误,因为我没有选择使用故事板,但当我需要它们时,我只是添加了一个故事板文件并将其定义为主界面,如下所示: 我相信我的问题可能来自这里,是否可以显示界面,但不能正确链接到NSApplication(以及代理)

在我的应用程序中,我想从视图控制器访问委托方法,但当我尝试以这种方式访问它时:

let appDelegate = NSApplication.sharedApplication().delegate
我得到了
nil
,这是什么原因造成的

使用其他信息编辑:
当我创建应用程序时,我犯了一个错误,因为我没有选择使用故事板,但当我需要它们时,我只是添加了一个故事板文件并将其定义为主界面,如下所示:

我相信我的问题可能来自这里,是否可以显示界面,但不能正确链接到NSApplication(以及代理)?
如果是,我如何解决它?


谢谢。

在故事板中,确保将
应用程序委派的自定义类(在身份检查器中)设置为委派类

更新

如果您刚刚创建了一个新的
情节提要
,它将是空的。AFAIK没有创建应用程序场景的“标准”方法。您必须从另一个故事板复制它(它们毕竟只是XML)

最简单的方法是创建一个新项目,启用
使用情节提要
,然后右键单击自动生成的
Main。情节提要
,选择打开为源代码。之后,将
部分复制到空的
情节提要。情节提要
。不要让get也抓住它的页眉和页脚部分。下面只是一个例子

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.Cocoa.Storyboard.XIB" version="3.0" toolsVersion="7706" systemVersion="14D136" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" initialViewController="B8D-0N-5wS">
    <dependencies>
        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="7706"/>
    </dependencies>
    <scenes>
    <!--Application-->

    <!-- your copied content -->

    </scenes>
</document>


最后,右键单击您的故事板。故事板
,然后选择打开为
界面生成器-情节提要以恢复正常的设计视图。

我在列表中找不到应用程序委派!那是个硬核手术,但我以前做过的。。。修正了一些调整后的问题