【发布时间】:2014-07-24 16:59:08
【问题描述】:
我对在此处展开 segue 的解决方法感到有些困惑:Xcode 6 Storyboard Unwind Segue with Swift Not Connecting to Exit
segue 尚未触发,我相信我正在按照解决方法中的概述实现它:
1) 视图控制器标头:
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
@class DetailViewController;
@interface DetailViewController : UIViewController
- (IBAction) unwindToMaster:(UIStoryboardSegue *) segue;
@end
2) Swift 中的控制器:
@objc(DetailViewController)class DetailViewController: UIViewController, UISplitViewControllerDelegate {
@IBOutlet var detailDescriptionLabel: UILabel
var masterPopoverController: UIPopoverController? = nil
@IBOutlet var itemButton: UIBarButtonItem
@IBAction func unwindToMaster(segue:UIStoryboardSegue) {
NSLog("unwind baby")
}
[...]
}
3) 故事板中的链接(作为 XML):
<barButtonItem key="rightBarButtonItem" title="Item" id="5Nk-ZI-b7r">
<connections>
<segue destination="aIR-Or-dY2" kind="unwind" unwindAction="unwindToMaster:" id="aWo-Uk-qUQ"/>
</connections>
</barButtonItem>
4) 我如何重置自定义类:
我转到自定义类侧页,删除“类”文本字段中的所有内容。它默认为 UIViewController。我保存,然后单击下拉菜单并选择 DetailViewController。
segue 没有触发,即它显然没有正确链接到“项目”按钮,但我不知道原因是什么。
我确实实施了上面链接和此链接中概述的解决方案:Workaround for swift unwinding
当然我可能做错了,希望得到一些指导。
【问题讨论】:
-
您更新到 Xcode 6 Beta 4 了吗?它应该首先解决了需要解决方法的问题,因此您可能根本不需要使用解决方法。
-
你知道我没有;不知道 v4 已经发布了。我在 3 天前检查过。我会下载它,但我认为这是一个学习混合 Objc 和 Swift 的机会——而且由于我从上面的有效答案中复制了这些步骤,我仍然想了解我做错了什么。有意义吗?
-
正如您发布的链接中所述,其他人也对解决方法有疑问,它对某些人有效,需要为其他人重新启动 Xcode,而其他人仍然失败。因此,可能是您没有做错任何事情,而问题只是 Xcode、iOS 或 Swift 处于测试阶段。
-
我明白了。会升级。如果您想将您的评论作为答案 - 我认为清晰 re: v4 值得一票。
标签: ios objective-c uiviewcontroller swift