首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如果条件为True,则在执行分段之前

如果条件为True,则在执行分段之前
EN

Stack Overflow用户
提问于 2018-10-22 02:34:45
回答 2查看 139关注 0票数 0

我使用segue从ViewController B过渡到ViewController A,同时使用segue将数据从ViewController B传递到ViewController A。我已经构建了我的代码,其中用户将点击backbutton并使用SCLAlertView cocoapods执行alert controller。它会提示

在它进入下一个ViewController之前,但当我运行它时,segue会自动执行,而不会先检查条件,也不会执行alert controller。我的代码下面是你的reference.Hope,你可以在这方面帮助我,因为我在swift是新手,我有我的研究,但似乎我看不到适用于我的问题的解决方案。谢谢。

代码语言:javascript
运行
AI代码解释
复制
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if segue.identifier == "showVCA" {
        if let vc_A = segue.destination as? ViewControllerA {
            vc_A.validPincode = validPincode
            vc_A.participants = participants
            vc_A.event = event
        }
    }
}



 @IBAction func backbutton(_ sender: UIButton) {
    let alert = SCLAlertView(appearance: confirmationAppearance)
    _ = alert.addButton("Leave", action: {
        self.dismiss(animated: true, completion: nil)
        self.performSegue(withIdentifier: "showVCA", sender: sender)

    })
    _ = alert.addButton("Stay", action: { })
    _ = alert.showError("Confirmation", subTitle: "Are you sure you want to leave this page?")

}
EN

回答 2

Stack Overflow用户

发布于 2018-10-22 02:45:27

代码语言:javascript
运行
AI代码解释
复制
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if segue.identifier == "showVCA" {
        if let vc_A = segue.destination as? ViewControllerA {
            vc_A.validPincode = validPincode
            vc_A.participants = participants
            vc_A.event = event
        }
    }
}



@IBAction func backbutton(_ sender: UIButton) {
    let alert = SCLAlertView(appearance: confirmationAppearance)
    _ = alert.addButton("Leave", action: {
        self.dismiss(animated: true, completion: nil)
        if validation() {
            self.performSegue(withIdentifier: "showVCA", sender: sender)
        }

    })
    _ = alert.addButton("Stay", action: { })
    _ = alert.showError("Confirmation", subTitle: "Are you sure you want to leave this page?")

}

func validation() -> Bool {
     // add validation logic here
     return false
}
票数 0
EN

Stack Overflow用户

发布于 2018-10-22 02:58:00

您的backbutton()函数似乎没有显示警报控制器(通过调用SCLAlertView的众多showXXX()函数中的一个),因此不会显示任何内容。是否有可能您的按钮连接到视图控制器的出口,而不是操作?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52921717

复制
相关文章
ReturnSingleDatabase为True报错
出现这个错误是因为Excel在最初发布的2016版本上加入了更新,而流传的破解包都是最初发布的版本,但好在即使是破解版本我们依然可以更新
但老师
2022/03/22
3580
ReturnSingleDatabase为True报错
怎么在a_bool的值为True的条件拼接a和a_1?
前几天在Python钻石群有个叫【有点意思】的粉丝问了一道关于pandas中字符串拼接问题,如下图所示。
前端皮皮
2022/08/17
6350
怎么在a_bool的值为True的条件拼接a和a_1?
python条件执行
布尔值有真(True)或者假(False)两个。 为了使程序能够根据条件执行不同的语句,通常需要判断一个布尔值。 布尔表达式可以给出布尔值。比如x == y就是一个布尔表达式,它会判断变量x与变量y是否相等。符号==是一个比较运算符,若两个运算对象相等,则返回True;若两者不相等,则返回False。 还可以使用其他的比较运算符: x == y # x等于yx != y # x不等于yx > y # x大于yx < y # x小于y
mwangblog
2018/07/04
9970
关于分段免杀执行的思考
我们在写shellcode时候,做分段免杀执行时,如何做到边解码然后执行再调用解码,解码后再执行?就是分段执行而且解密的密钥是不一样的,对于这个问题,我们应该想想这三个问题。
FB客服
2020/03/17
8080
顺序执行命令,条件执行,管道
顺序执行命令,条件执行 有时候等一条指令执行,时间太久,不妨堆起来一起执行,执行完一条再下一条 每条指令用;隔开就可以啦 sudo apt-get update; sudo apt-get ins
98k
2018/04/12
1.3K0
为啥PHP in_array(0,['a', 'b', 'c']) 返回为true?
但是,直观上看, 0并没有包含在['a', 'b', 'c']数组中,也不会等于'abc'这个字符串。那怎么解释上述的返回结果呢?
架构精进之路
2020/08/17
1.7K0
ReturnSingleDatabase为True报错的解决办法
出现这个错误是因为Excel在最初发布的2016版本上加入了**更新**,而流传的破解包都是最初发布的版本,但好在即使是破解版本我们依然可以更新
但老师
2020/08/02
5930
ReturnSingleDatabase为True报错的解决办法
MCU在执行main之前做了什么?
本文以Arm Cortex-M为例,介绍了在IAR Embedded Workbench中微控制器(MCU)的启动过程。在MCU复位后,程序计数器(PC)会指向相应的复位向量,并开始执行启动代码(startup code)。如果MCU支持浮点单元(FPU),则在启动过程中,首先会调用__iar_init_vfp来初始化FPU,然后继续执行__iar_program_start。接着,__iar_program_start会调用__cmain函数。在__cmain中,会先调用__low_level_init函数,然后调用__iar_data_init3来进行全局和静态变量的初始化。在__iar_data_init3中,首先会调用__iar_zero_init3来初始化初始值为0的全局和静态变量,随后会调用__iar_copy_init3来初始化初始值为非0的全局和静态变量。最终,在启动过程的最后阶段,会通过调用__call_main来跳转到main函数,从而开始执行主程序。
刘盼
2023/08/22
9670
MCU在执行main之前做了什么?
为什么 Java 中1000==1000为false,而100==100为true?
基本知识:我们知道,如果两个引用指向同一个对象,用 == 表示它们是相等的。如果两个引用指向不同的对象,用 == 表示它们是不相等的,即使它们的内容相同。
终码一生
2022/04/14
3630
为什么 Java 中“1000==1000”为false,而”100==100“为true?
基本知识:我们知道,如果两个引用指向同一个对象,用==表示它们是相等的。如果两个引用指向不同的对象,用==表示它们是不相等的,即使它们的内容相同。
肉眼品世界
2022/03/29
4750
为什么Java中1000==1000为false而100==100为true?
基本知识:我们知道,如果两个引用指向同一个对象,用==表示它们是相等的。如果两个引用指向不同的对象,用==表示它们是不相等的,即使它们的内容相同。
哲洛不闹
2018/09/18
5950
在main方法之前,到底执行了什么?
本人在做接口测试的时候,需要用一个公共类来把所有的执行的代码,然后这个公共类有hsot和hosttype等属性来区分各个测试环境,然后在去不同的地方取用例和请求接口。在给这些属性复制的时候,我是通过不同测试环境新建不同的配置文件,然后执行每个环境的时候让只加载需要测试的环境的配置文件来实现管理测试环境的。中间遇到了一些坑,主要就是对java代码执行循序,特别是在main方法之前的代码执行顺序了解不深入导致的,中间有多个继承关系也有点扰乱了思路。下面分享一下自己这个错误的复现步骤。
FunTester
2019/08/30
7360
如何向女朋友解释int==Integer为true
通常大家对此的解释是,==对于基本类型来说比较的是值,对于引用类型来说比较的是引用,即指向的对象的内存地址。这样解释没错,b==c结果为false毋庸置疑,因为两个都是引用类型。但是为什么a==b(a==c)一个是基本类型一个是引用类型,比较的时候还是值比较呢?
编程大道
2019/07/15
4910
如何向女朋友解释int==Integer为true
为什么Java中1000==1000为false而100==100为true?
基本知识:我们知道,如果两个引用指向同一个对象,用==表示它们是相等的。如果两个引用指向不同的对象,用==表示它们是不相等的,即使它们的内容相同。
Leetcode名企之路
2020/09/04
6130
为什么 Java 中“1000==1000”为false,而”100==100“为true?
基本知识:我们知道,如果两个引用指向同一个对象,用==表示它们是相等的。如果两个引用指向不同的对象,用==表示它们是不相等的,即使它们的内容相同。
周辰晨
2022/09/20
4920
为什么Java中1000==1000为false而100==100为true?
原文:Why 1000 == 1000 Returns False, but 100 == 100 Returns True in Java? 作者:Bazlur Rahman 译文:http://w
顶级程序员
2018/05/03
7390
为什么 Java 中“1000==1000”为false,而”100==100“为true?
为什么 Java 中“1000==1000”为false,而”100==100“为true? 这是一个挺有意思的讨论话题。
开发者技术前线
2020/11/24
5170
为什么 Java 中“1000==1000”为false,而”100==100“为true?
为什么Java中1000==1000为false而100==100为true?
基本知识:我们知道,如果两个引用指向同一个对象,用==表示它们是相等的。如果两个引用指向不同的对象,用==表示它们是不相等的,即使它们的内容相同。
Java后端技术
2018/08/09
5430
点击加载更多

相似问题

如果不是null,则在中为True

14

如果条件为true,则在用户检查完后,取消选中selectBooleanCheckbox

11

如果条件为true,则继续执行while循环。

53

Rails:如果模型属性为true,则在视图中执行以下操作

10

如果条件为true,则使if条件返回;如果为true,则返回while条件

40
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文