我是新手,如果我提出愚蠢的问题,请忽略;)
是否需要将可选值显式设置为nil,如果不再需要它们? 如此弱,强大的参考在swift中如何运作? 如果必须手动取消初始化常量变量怎么办?由于无法在swift中为正常变量分配nil,有人请告诉我如何操作。 有什么区别?
var someVar:String? vs var someVar:String!
我看到唯一的区别在于访问它们。第一个打印值在可选和第二个不打开,第二个打印异常,当值为零时。这只是区别吗?
答案 0 :(得分:4)
是否需要将可选值显式设置为nil
不,Automatic Reference Counting
自动释放内存。除非存在循环引用,例如,在ClassB中强烈引用ClassA,反之亦然。此外,Automatic Reference Counting
仅适用于类的实例,而不适用于值类型(String
,Int
,Enum
等)。这些值类型的内存在其父实例被取消初始化时被释放。
这只是区别吗?
var someVar:String!
创建Implicitly Unwrapped Optional
,基本上是optional
,在访问时会自动解包。在Implicitly Unwrapped Optional
nil
时访问Check your
req.body.author,
req.body.rating,
req.body.reviewText
They must be coming as empty string
会导致运行时错误。