5

我按照教程并找到此代码:

self.imageView.frame = (CGRect){.origin = CGPointMake(0.0f, 0.0f), .size = image.size};

它很清楚它的作用,但我不明白这行代码的语法。我第一次看到这样的东西:.size = image.size。在点语法中,我希望在点前面看到一些东西,比如self.view,但是 是什么意思.size

第二个问题是 - 为什么有圆括号和花括号?我以前从未见过这样的结构(){};

我的问题可能听起来很傻,但现在我有点困惑,有人可以解释一下吗?谢谢你。

4

1 回答 1

5

这是 C 结构的指定初始化器语法。括号()用于将结构转换为CGRect. 正如Martin R指出的那样,除非您使用复合文字语法,否则不需要强制转换,其中您不命名参数。

于 2014-04-29T18:31:11.583 回答