Objective c 在方法中使用CGRectMake之类的函数而不是先创建变量是否有错?
例如:Objective c 在方法中使用CGRectMake之类的函数而不是先创建变量是否有错?,objective-c,Objective C,例如: someView = [[UIView alloc] initWithFrame:CGRectMake(120, 205, 200, 200)]; 而不是: CGRect frame = CGRectMake(120, 205, 200, 200); someView = [[UIView alloc] initWithFrame:frame]; 我似乎只看到了第二个例子。这只是为了可读性吗?或者这有什么好的理由吗?这只是风格的问题。两者是等价的,可能会编译成相同的东西。这只是风格问
someView = [[UIView alloc] initWithFrame:CGRectMake(120, 205, 200, 200)];
而不是:
CGRect frame = CGRectMake(120, 205, 200, 200);
someView = [[UIView alloc] initWithFrame:frame];
我似乎只看到了第二个例子。这只是为了可读性吗?或者这有什么好的理由吗?这只是风格的问题。两者是等价的,可能会编译成相同的东西。这只是风格问题。这两者是等价的,可能会编译成相同的东西。唯一的区别是,正如您已经指出的,可读性。如果您需要相同的维度,它还可以使CGRect结构在代码中的其他位置重用。唯一的区别是,正如您已经指出的,可读性。如果您需要相同的维度,它还可以使CGRect结构在代码中的其他位置可重用。第二个选项的问题是,如果您在同一范围内制作了大量的
CGRect
,您需要防止代码重新定义frame
,覆盖变量,或者为不同的画面取不同的名字
为了使您的代码更具可移植性,我每次都会选择第一个选项。但是如果它有点太复杂,那么出于可读性的考虑,我会将其拆分。第二个选项的问题是,如果您在同一范围内创建了大量的
CGRect
,则需要防止代码重新定义frame
,覆盖变量,或者为不同的帧指定不同的名称
为了使您的代码更具可移植性,我每次都会选择第一个选项。但是如果它有点太复杂,那么为了可读性,我会把它拆分出来。这两段代码都有相同的效果。使用第二种模式可能有几个原因:
- 代码可以更容易阅读。您可以将变量命名为更具描述性的名称
- 如果要多次重用同一个rect,则有必要声明一次并重用它。虽然CGRectMake是一种廉价的操作,但它仍然是一种很好的实践,特别是如果您在循环中多次运行此代码
- 代码可以更容易阅读。您可以将变量命名为更具描述性的名称
- 如果要多次重用同一个rect,则有必要声明一次并重用它。虽然CGRectMake是一种廉价的操作,但它仍然是一种很好的实践,特别是如果您在循环中多次运行此代码