例如:
someView = [[UIView alloc] initWithFrame:CGRectMake(120, 205, 200, 200)];
而不是:
CGRect frame = CGRectMake(120, 205, 200, 200);
someView = [[UIView alloc] initWithFrame:frame];
我好像只看到第二个例子。它只是为了可读性吗?或者有充分的理由吗?
答案 0 :(得分:2)
这只是风格问题。这两个是等价的,可能会编译成同样的东西。
答案 1 :(得分:1)
唯一的区别就在于您已经指出的可读性。如果您需要相同的维度,它还可以使CGRect结构在代码中的其他位置重用。
答案 2 :(得分:1)
两段代码都有相同的效果。使用第二种模式可能有几个原因:
代码可以更容易阅读。您可以将变量命名为更具描述性。
如果您多次重复使用相同的矩形,则将其声明一次并重复使用可能是有意义的。虽然CGRectMake是一种廉价的操作,但它仍然是一种很好的做法,特别是如果你在循环中多次运行这段代码。
答案 3 :(得分:0)
第二个选项的问题是,如果您在同一范围内制作了大量CGRect
,则需要阻止代码重新定义frame
,覆盖变量,或者为不同的框架提出不同的名称。
为了让您的代码更具便携性,我每次都会选择第一个选项。但如果它有点过于复杂,那么为了便于阅读,我会把它分开。