是的,我看到了这个:
如果该方法返回一个结构,如 Mac OS X ABI 函数调用指南中定义的那样,将在寄存器中返回,则发送到 nil 的消息将为结构中的每个字段返回 0.0。其他结构数据类型不会用零填充。
我只是不明白。
是的,我看到了这个:
如果该方法返回一个结构,如 Mac OS X ABI 函数调用指南中定义的那样,将在寄存器中返回,则发送到 nil 的消息将为结构中的每个字段返回 0.0。其他结构数据类型不会用零填充。
我只是不明白。
如果您使用的是最新版本的 LLVM 编译器(Xcode 4.2 或更高版本),那么是的,nil
使用结构返回方法进行消息传递将产生一个零填充结构。在 的情况下CGRect
,这意味着 rect 等于CGRectZero
。
资料来源:Greg Parker,他在 Apple 的 ObjC 运行时工作。