字典或对象作为 Objective-C 中的参数



我正在分析一些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);

最新更新