【发布时间】:2016-07-03 22:39:51
【问题描述】:
如果您创建一个新的 Cocoa 项目并将 NSTextField 从 Object Library 拖放到您的视图控制器,这是您启动时的初始控制器,并创建一个 @IBAction(添加 @ 987654323@)和@IBOutlet,然后运行应用程序,然后你看不到启动时调用的@IBAction方法。
然后,如果您在文本字段上按下 return,就会调用该操作。但是,这很重要,在您退出应用程序然后再次启动应用程序后,您现在会看到由于某些原因在启动时调用了 @IBAction(如果不这样做,请尝试几次)。
实际上我想知道为什么在我的开发应用程序启动时总是调用@IBAction,并在我的所有类中搜索任何调用它的方法,但后来发现即使我开始一个新项目也会出现这个奇怪的问题并且创建一个连接,并尝试启动和发送操作几次试错。
我还注意到我创建了五个新项目并确认这在所有五个项目中都发生了。
为什么会发生这种情况?另外,如果这是Apple方面的错误,有没有办法在我的项目中禁用@IBAction的自动执行?
我一开始设置了textField.editable = false,然后在viewDidAppear:中设置为textField.editable = true,但仍然在启动时触发了动作。有什么办法可以解决这个问题吗?
似乎如果我通过点击红色图标并退出应用程序来关闭窗口,然后从 Xcode 中再次启动它,则不会调用 @IBAction。这太奇怪了……
【问题讨论】:
标签: xcode cocoa storyboard ibaction