ska*_*b11 51 xcode uibarbuttonitem ios swift
当尝试将导航栏按钮连接到Xcode 6中的ViewController的Exit项目时(不确定它是否是Xcode 6问题但值得一提,因为它处于测试阶段)它没有在自定义类中找到Swift函数.

它应该找到的功能:
@IBAction func unwindToList(segue: UIStoryboardSegue) {
}
Run Code Online (Sandbox Code Playgroud)
我在视图上创建了另一个按钮,以确保我可以使用Swift处理IBAction并且我正确地编写了它.这很好用:
@IBAction func test(sender: AnyObject) {
NSLog("Test")
}
Run Code Online (Sandbox Code Playgroud)
我已经看到这个问题似乎是同一个问题,但根据答案,这应该是有效的.
Xcode 6处于测试阶段,当然,Swift非常新,但是在考虑它是一个潜在的错误之前,想看看是否有人遇到过这种情况.
ska*_*b11 55
这是Xcode 6的一个已知问题:
Interface Builder无法识别在Swift类中声明的展开segue操作
为了解决这个问题,您需要:
class MyViewController到@objc(MyViewController) class MyViewController创建一个Objective-C头文件,其中包含重新声明segue操作的MyViewController类别.
@interface MyViewController (Workaround)
- (IBAction)unwindToMyViewController: (UIStoryboardSegue *)segue;
@end
Run Code Online (Sandbox Code Playgroud)在故事板中,选择MyViewController的实例,清除其自定义类,然后将其设置回MyViewController.
完成这些步骤后,您可以再次将按钮连接到退出项目.
Xcode 6发行说明 PDF,第10页
tru*_*201 51
现在可以安装的Xcode 6 Beta 4不支持使用Objective-C解决方法,而是支持在Interface Builder中连接展开segue.您现在可以从iOS开发中心进行更新.按住Control键并从要触发segue的UI项目拖动到退出图标,并在将以下代码放入目标视图控制器后选择函数unwindToSegue.
@IBAction func unwindToSegue (segue : UIStoryboardSegue) {}
Run Code Online (Sandbox Code Playgroud)
小智 16
我终于可以让它上班了; xcode6 IB现在非常脆弱(崩溃了很多).在将导航栏按钮项目连接到退出项目之前,我必须重新启动IDE.我最终重新创建了我的测试项目并遵循上述建议(Xcode 6发行说明PDF,第10页)以使其工作.另外,在添加.h文件时,我确保选择我的项目目标,默认情况下未选中.我还通过Cocoa Touch Class模板(vs empty swift文件)创建了我的控制器swift存根.我在导航控制器中使用了模态segue.
ListTableViewController.h
#import <UIKit/UIKit.h>
@interface ListTableViewController
- (IBAction)unwindToList: (UIStoryboardSegue *)segue;
@end
Run Code Online (Sandbox Code Playgroud)
ListTableViewController.swift
import UIKit
@objc(ListTableViewController) class ListTableViewController: UITableViewController {
@IBAction func unwindToList(s:UIStoryboardSegue) {
println("hello world");
}
}
Run Code Online (Sandbox Code Playgroud)
希望有所帮助
在Swift 2.3中,我发现参数的外部名称必须是"withUnwindSegue":
@IBAction func unwindToThisView(withUnwindSegue unwindSegue: UIStoryboardSegue) {
...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
42467 次 |
| 最近记录: |