我正在分析一些Objective-C代码,发现以下内容:
CGContextDrawImage(bmContext, (CGRect){.origin.x = 0.0f, .origin.y = 0.0f, .size.width = _fullWidth, .size.height = height}, partialImg);
{.origin.x = 0.0f, ...}
的目的是什么?这是正在初始化的对象还是字典?
谢谢!
这是 C99 的指定初始值设定项语法,它与目标 C 或字典无关。使用此语法在无法调用CGRectMake
的上下文中初始化"纯"C 结构 - 例如,初始化静态变量时。
请注意,在您的情况下,您也可以使用 CGRectMake
来获取更短、更易于阅读的代码:
CGContextDrawImage(bmContext, CGRectMake(0.0f, 0.0f, _fullWidth, height), partialImg);