首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Xcode 6故事板解压段与Swift不连接到出口

Xcode 6故事板解压段与Swift不连接到出口
EN

Stack Overflow用户
提问于 2014-06-04 05:19:58
回答 11查看 42.9K关注 0票数 51

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

它应该找到的功能是:

代码语言:javascript
运行
复制
@IBAction func unwindToList(segue: UIStoryboardSegue) {

}

我在视图上做了另一个按钮,以确保我可以让一个IBAction与Swift一起工作,并且我正在正确地编写它。这样做很好:

代码语言:javascript
运行
复制
@IBAction func test(sender: AnyObject) {

    NSLog("Test")
}

我已经看到了这个问题,这似乎是同一个问题,但根据那里的答案,这应该是可行的。

Xcode 6还处于测试阶段,当然,Swift是一个很新的版本,但是在考虑它是一个潜在的bug之前,想看看有没有人遇到过这个问题。

EN

回答 11

Stack Overflow用户

回答已采纳

发布于 2014-06-04 06:02:06

这是Xcode 6已知的一个问题:

Interface无法识别Swift类中声明的解压缩操作

为了绕开它,你需要:

  1. class MyViewController更改为@objc(MyViewController) class MyViewController
  2. 创建一个带有MyViewController类别的Objective头文件,重新声明segue操作。 @interface MyViewController (变通方法)- (IBAction)unwindToMyViewController:(UIStoryboardSegue *)segue;@end
  3. 在情节提要中,选择MyViewController实例,清除它的自定义类,然后将其设置为MyViewController。

在这些步骤之后,您可以再次将按钮连接到退出项。

Xcode 6发行说明 PDF,第10页

票数 55
EN

Stack Overflow用户

发布于 2014-07-22 00:10:52

现在可以安装的Xcode 6 Beta 4不再使用Objective解决方案,而是支持接口生成器中的解压segues连接。您现在可以从iOS开发中心进行更新。控件-单击要触发segue的UI项并将其拖动到exit图标,并在目标视图控制器中放置以下代码后选择函数unwindToSegue。

代码语言:javascript
运行
复制
@IBAction func unwindToSegue (segue : UIStoryboardSegue) {}
票数 51
EN

Stack Overflow用户

发布于 2014-06-07 00:34:34

我终于能够让它开始工作了;xcode6 IB现在真的很脆弱(崩溃也很多)。在将导航条按钮项连接到退出项之前,我必须重新启动IDE。最后,我重新创建了我的测试项目,并遵循了上述建议(Xcode 6发行说明PDF,第10页),以使其工作。此外,在添加.h文件时,我确保选择了默认未选中的项目目标。我还创建了我的控制器快速存根通过Cocoa类模板(vs空的快捷文件)。我在导航控制器上使用了模态导航。

ListTableViewController.h

代码语言:javascript
运行
复制
#import <UIKit/UIKit.h>

@interface ListTableViewController
- (IBAction)unwindToList: (UIStoryboardSegue *)segue;
@end

ListTableViewController.swift

代码语言:javascript
运行
复制
import UIKit

@objc(ListTableViewController) class ListTableViewController: UITableViewController {

    @IBAction func unwindToList(s:UIStoryboardSegue) {
        println("hello world");
    }

}

希望这有帮助

票数 16
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24029586

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档