- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我是 swift 的新手,但我想我已经掌握了窍门。不过,这严重阻碍了我的进步。
我想做的是当我们找不到与他的查询相关的数据时,向用户抛出一个错误信息,然后继续将他带回之前的ViewController。
但是,我在执行此操作时遇到了真正的麻烦。在我添加操作的行中,出现以下错误:“UIViewController?”不是 Void 的子类型
let alertController = UIAlertController(title: "Oops", message: "We couldn't find any data for this title, sorry!", preferredStyle: UIAlertControllerStyle.Alert)
alertController.addAction(UIAlertAction(title: "Ok", style: .Default, handler: { action in
self.navigationController?.popViewControllerAnimated(true)
}))
我该怎么做?我错过了一些明显的东西吗?我试着摆弄已弃用的 UIAlertView,但一无所获。
最佳答案
只需在闭包体中添加一个显式的return
语句:
alertController.addAction(UIAlertAction(title: "Ok", style: .Default, handler: { action in
self.navigationController?.popViewControllerAnimated(true)
return
}))
发生这种情况的原因是单个语句闭包被处理为返回值,因此编译器使用 popViewControllerAnimated
的返回值,这不出所料是一个 UIViewController?
。显式 return 语句避免了这种情况。
关于ios - self.navigationController?.popViewControllerAnimated 来自 UIAlertController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26761835/
我有导航 Controller 。在此 Controller 的第二个 View 上,我创建了一个后退按钮,其操作名为“后退”。在这个方法中,我调用“popViewControllerAnimated
在 MainViewController 中,我必须根据方向变化调整一些图像。简单 - 只需将代码添加到 willAnimateRotationToInterfaceOrientation: 回调 -
我有一个带有一些 UITextView 的 View 。用户可以输入个人数据、姓名、姓氏、电子邮件等。编辑完成后,用户点击右上角的“完成”, View 像这样导航回上一个 View : - (void
我有一个基于 UINavigationController 的应用程序,其中包含多个 View 。 当我通过在导航 Controller 上调用以下方法返回到以前的 View Controller 时
所以问题是当有人触摸 UINavigationControler 上的后退按钮时,我想运行一些代码来更新数据源。 问题是我似乎找不到合适的代表来做这件事。只有这些在导航 Controller 委托(d
我制作了一个自定义 UINavigationController 类,这样我就可以弹出一个 UIAlertView 并说,您确定要在点击后退按钮时离开此 View 吗? 我有一个客户,方法如下: -
我不明白为什么在弹出回导航堆栈中的上一个 View Controller 时会崩溃。问题是我正在使用自定义导航栏(原始导航栏被隐藏,我的自定义按钮触发导航 - 推送和弹出 - 相反)。 我得到的痕迹:
为了提供一些上下文,我有一个简单的 UITableViewController,它用数据填充 UITableView。选择一行后,我会通过创建自定义 UIViewController 的新实例并将其推
我有 4 个 ViewController A、B、C、D。我使用从 Storyboard 创建的 Push Segues 从 A->B->C->D 移动。 由于我的应用程序的逻辑,如果用户想从屏幕
在我的应用程序中,我使用了导航 Controller 。我的问题是,当我转到上一个 View 然后返回到当前 View 时,该 View 中的所有 TextField 都是空的。 当我从导航 Cont
我想使用 popViewControllerAnimated 而不是 popToRootViewControllerAnimated 来移动到 Root View 。我不想直接移动到 Root Vie
我在 Xcode 6 的 iOS 8 中遇到一个错误。 就是这个场景。 XCode 6 创建新项目“Master-Detail Application” 现在我只是详细地添加了一个按钮,并在其点击事件
我在 UIView 子类中创建了一个按钮。我需要通过此按钮调用 popViewControllerAnimated,但没有任何效果!而且我看不到 viewController 推回到 rootView
当我使用 tableView:didSelectRowAtIndexPath / popViewControllerAnimated 它不起作用。我将 View Controller 推到另一个 Vi
当我尝试弹出一个 View Controller 时,它不会更新前一个 View 的信息。示例:我有一个单元格在 View1 的标签中显示文本。当您单击单元格时,它会转到 View2(例如)当我在 V
我知道错误 Can't unwrap optional 意味着程序在某处试图解包一个 nil 变量。问题是我不知道在哪里。 我正在编写一个模态呈现的编辑屏幕。用户更改内容,它被保存,然后我们弹出到显示
我有这个代码: -(IBAction)OkButtonPressed:(id)sender{ NSLog(@"BTN OK"); RecherchePartenaireTableVie
所以,在内存不足的情况下,我的 Root View 被卸载了。这是预料之中的。但是,我该如何处理需要弹出的模态/推送 View Controller ,因为它们引用了主导航 Controller ?我
我试图在从堆栈中弹出顶部 viewController 的同时“做一些事情”。从堆栈中弹出 viewController 似乎不被视为 segue,因此我不能使用 prepareForSegue: s
我使用以下代码来处理失败的请求。 - (void)requestFailed:(ASIHTTPRequest *)request { [self.alertView dismissWithCl
我是一名优秀的程序员,十分优秀!