Avatar ·

什么是 Swift 中的 Optional(可选类型)以及为什么需要它?

大家好!我刚开始学习 Swift,遇到了一个我还不完全理解的概念——Optional(可选值)。在其他语言中,比如 Java 或 C++,我习惯了变量可以等于 null,这很正常。但在 Swift 中却不同:如果我试图给普通变量赋 nil,编译器会一直报错。 这里有一个让我困惑的例子。我正在写一个简单的笔记应用,希望笔记文本字段可以为空(nil),如果用户没有输入任何内容: ```swift var noteTitle: String = nil // 错误:Nil cannot be assigned to type 'String' ``` 编译器会报错。我知道需要使用问号: ```swift var noteTitle: String? = nil // 这样可行 ``` 但随后我在使用这个值时遇到了困惑。例如,如果我想输出字符串的长度或将其与另一个字符串拼接,编译器又会报错: ```swift var noteTitle: String? = "我的笔记" pr