【发布时间】:2016-05-25 11:39:48
【问题描述】:
我正在使用 Xcode 7。我在视图 A 中编写了展开函数。我想从视图 B 返回到视图 A。当我在退出时使用 ctrl 拖动按钮时,不会出现任何展开函数。当我右键单击退出时,它是空的。我该如何解决?还是我可以通过编程方式设置展开?
这是我的放松功能:
@IBAction func unwindToProductList(sender: UIStoryboardSegue) {
print("unwindToProductList called")
}
编辑:
我想我发现了问题,但不明白为什么 xcode 会这样。在我的视图控制器的开头,我有以下代码行:
import UIKit
extension ProductListViewController: UISearchResultsUpdating {
func updateSearchResultsForSearchController(searchController: UISearchController) {
filterContentForSearchText(searchController.searchBar.text!)
}
}
class ProductListViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
.....
}
当我评论我的扩展时,退出看到我的展开功能,但如果取消评论我的扩展,退出不再看到我的展开功能,我是否在错误的地方写了扩展?
解决方案:
我通过从代码开头删除扩展并在视图控制器中实现它来解决我的问题,之后退出按钮开始看到我的展开功能:
class ProductListViewController: UIViewController, UITableViewDataSource, UITableViewDelegate, UISearchResultsUpdating {
func updateSearchResultsForSearchController(searchController: UISearchController) {
filterContentForSearchText(searchController.searchBar.text!)
}
....
}
【问题讨论】:
-
你写的是 UIVIew 还是 UIViewController 类?
-
视图(控制器)A和视图(控制器)B(从 A到B)之间的segue连接是什么?对比类似的详细解决方案described here。
-
@anishparajuli 我在 UIViewController 中编写了它,同时我的类实现了 UITableViewDataSource、UITableViewDelegate
-
@dfri segue 从 A 到 B 的连接是“显示(例如推送)”
标签: storyboard swift2 xcode7.2