初学Swift时看别人的代码发现如下的写法:
param.UserId = account.UserId ?? "332";
一个“?”号知道是打包的意思,因为Swift一门严谨的语言,Swift使用var定义变量时,不会自动给变量赋初始值,要求使用变量之前必须要对其初始化。如果不进行初始化就会报错,这时可以通过声明为Optional类型在后面加个?号就可以了。
这里的"??"其实是一种空值判断符,判断"??"左边表达式是否为null,如是null则取右边表达式的值,否则就取左边,表达式的值完整的写法如下:
if account.UserId {param.UserId = account.UserId;}
else {param.UserId = "332";}