当尝试将导航条按钮连接到Xcode 6中的ViewController退出项时(不太确定是否存在Xcode 6问题,但在beta中值得一提),它在自定义类中找不到Swift函数。

它应该找到的功能是:
@IBAction func unwindToList(segue: UIStoryboardSegue) {
}我在视图上做了另一个按钮,以确保我可以让一个IBAction与Swift一起工作,并且我正在正确地编写它。这样做很好:
@IBAction func test(sender: AnyObject) {
NSLog("Test")
}我已经看到了这个问题,这似乎是同一个问题,但根据那里的答案,这应该是可行的。
Xcode 6还处于测试阶段,当然,Swift是一个很新的版本,但是在考虑它是一个潜在的bug之前,想看看有没有人遇到过这个问题。
发布于 2014-06-04 06:02:06
这是Xcode 6已知的一个问题:
Interface无法识别Swift类中声明的解压缩操作
为了绕开它,你需要:
class MyViewController更改为@objc(MyViewController) class MyViewController在这些步骤之后,您可以再次将按钮连接到退出项。
Xcode 6发行说明 PDF,第10页
发布于 2014-07-22 00:10:52
现在可以安装的Xcode 6 Beta 4不再使用Objective解决方案,而是支持接口生成器中的解压segues连接。您现在可以从iOS开发中心进行更新。控件-单击要触发segue的UI项并将其拖动到exit图标,并在目标视图控制器中放置以下代码后选择函数unwindToSegue。
@IBAction func unwindToSegue (segue : UIStoryboardSegue) {}发布于 2014-06-07 00:34:34
我终于能够让它开始工作了;xcode6 IB现在真的很脆弱(崩溃也很多)。在将导航条按钮项连接到退出项之前,我必须重新启动IDE。最后,我重新创建了我的测试项目,并遵循了上述建议(Xcode 6发行说明PDF,第10页),以使其工作。此外,在添加.h文件时,我确保选择了默认未选中的项目目标。我还创建了我的控制器快速存根通过Cocoa类模板(vs空的快捷文件)。我在导航控制器上使用了模态导航。
ListTableViewController.h
#import <UIKit/UIKit.h>
@interface ListTableViewController
- (IBAction)unwindToList: (UIStoryboardSegue *)segue;
@endListTableViewController.swift
import UIKit
@objc(ListTableViewController) class ListTableViewController: UITableViewController {
@IBAction func unwindToList(s:UIStoryboardSegue) {
println("hello world");
}
}希望这有帮助
https://stackoverflow.com/questions/24029586
复制相似问题