有什么fixedSize作用?
它只是将所有布局行为修复为等于idealWidth/吗idealHeight?
如果是这样,我们可以这样说吗
frame(width: w, height:h)
Run Code Online (Sandbox Code Playgroud)
相当于
frame(minWidth: w, idealWidth:w, maxWidth: w, minWidth: h, idealWidth:h, maxWidth: h)
Run Code Online (Sandbox Code Playgroud)
或不?
让我们假设一个非常简单的例子:
func square() -> Int {
var x = 5
defer { x = 10 }
return x
}
Run Code Online (Sandbox Code Playgroud)
为什么返回5?
我们知道 defer 只能工作到rbp消失为止。所以推迟执行直到返回。
这就是它在汇编中的样子:
output.square() -> Swift.Int:
push rbp
mov rbp, rsp
sub rsp, 16
mov qword ptr [rbp - 8], 0
mov qword ptr [rbp - 8], 5
lea rdi, [rbp - 8]
call ($defer #1 () -> () in output.square() -> Swift.Int)
mov eax, 5
add rsp, 16
pop rbp
ret
$defer #1 () -> () …Run Code Online (Sandbox Code Playgroud)