可以取消prepareForSegue:方法中的分段吗?

我想在分段之前执行一些判断,如果条件不为真(在本例中,如果大约UITextField个为空),则显示一条错误消息,而不是执行分段.

推荐答案

这在iOS 6及更高版本中是可能的:

- (BOOL)shouldPerformSegueWithIdentifier:(NSString *)identifier sender:(id)sender 

在视图控制器中.你在那里进行验证,如果可以,那么return YES;,如果不是,那么return NO;,并且不调用prepareForSegue.

请注意,当以编程方式触发segues时,不会自动调用此方法.如果需要执行判断,则必须调用shouldPerformSegueWithIdentifier来确定是否执行segue.

Ios相关问答推荐

实例方法wait在异步上下文中不可用;请改用TaskGroup;这是Swift 6中的错误''

不使用iOS 17修改器修改SWIFT用户界面视图

如何在将EXPO更新到50.0后修复react 本机错误

如何通过S定义的对象设置删除基于块的观察者的测试?

IFrame内容拒绝仅在iOS浏览器上加载-即使发布了内容-安全-策略(CSP)框架-祖先指令

Xamarin Forms CustomPin iOS Render

如何在KMM项目中处理PHPickerViewController的回调?

在iOS中使用Swift,即时更改应用语言后,立即改变外观会出现问题

_SKStoreProductParameterAdNetworkSourceIdentifier未定义符号

垂直分页 UIScrollView 高度不正确

Flutter iOS 构建失败:DVTCoreDeviceEnabledState_Disabled

为什么常量属性可能在 Swift 类中被初始化两次?

为什么@FetchRequest 在删除时不更新和重绘视图?

如何擦除 Swift 中的 Core Graphics Context 绘图?

视图之间的 SwiftUI 过渡,没有过渡

无法验证客户端 3000

使用 convertPoint 获取父 UIView 内的相对位置

在滚动视图中使用动态大小的控制器调整容器视图的大小

如何删除 Swift 数组中的所有 nil 元素?

Xcode 5 和 iOS 7:架构和有效架构