1.问号? a.声明时添加?,告诉编译器这个是Optional的,若是声明时没有手动初始化,就自动初始化为nil b.在对变量值操做前添加?,判断若是变量时nil,则不响应后面的方法。 2.叹号! a.声明时添加!,告诉编译器这个是Optional的,而且以后对该变量操做的时候,都隐式的在操做前添加! b.在对变量操做前添加!,表示默认为非nil,直接解包进行处理编译器