为什么断点在'if else'条件下的else块中断

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么断点在'if else'条件下的else块中断相关的知识,希望对你有一定的参考价值。

我想弄清楚,为什么,如果我在ifelse线上设置断点,为什么我的if else {}条件在else上断,如果条件是在true区块的if

我正在使用领域,但我不认为,这是一个问题。

//Check if Object already exists in database
if !RealmService.shared.ifPortfolioExists(name: portfolio.name){//Breakpoint on this line which is true

     //Create portfolio
     RealmService.shared.create(portfolio)
     //Assign portfolio to transaction
     transaction.portfolio = portfolio
     //Create transaction
     RealmService.shared.create(transaction)

}else{//Breakpoint on this line

     //Assign portfolio to transaction       
     transaction.portfolio = portfolio
     //Create transaction
     RealmService.shared.create(transaction)

}

我是在忘记工作还是只是愚蠢?可以请有人解释我这个。

答案

编译器读取它们以查看它是否应该进入下面的代码块。 if内部的断点将在true时触发,而else在false时触发

这样做是为了更好地了解断点生效的位置:

if x != y {
    print("if breakpoint")//set breakpoint here
} else {
    print("else breakpoint")//set breakpoint here
    // you should see that the breakpoint doesn't fire here
}

以上是关于为什么断点在'if else'条件下的else块中断的主要内容,如果未能解决你的问题,请参考以下文章

关于verilog中 if else 的问题

sql语句中if条件的使用

条件判断练习:门票价格Python练习

Java 使用lambda表达式代替实现'if else'

Note on python__2021-07-05Python练习使用if-else条件选择+list列表——>age_selector

Python基础---循环--条件判断(while-for-if-elif-else)