命名方法和传递值

时间:2014-04-16 17:08:44

标签: ios objective-c methods

以下面的方法为例:

-(void)myMethodName:(int)xCoordinate yCoordinate:(int)yCoordinate

当我在我的代码[self etc ...]中编写方法时,Xcode会自动完成,它告诉我第二个值是什么,但绝不是第一个(见图)。

enter image description here

我有什么方法可以为方法的第一个值包含'description'吗?

4 个答案:

答案 0 :(得分:2)

这只是你如何命名方法的问题。它会自动填充整个方法名称。如果方法名称描述了其参数,那么您将在自动完成中看到它。

答案 1 :(得分:1)

你想要得到这样的东西吗?

-(void)myMethodNameWithXCoordinate:(int)xCoordinate yCoordinate:(int)yCoordinate

答案 2 :(得分:1)

这就是方法通常在目标C中定义的方法

- (int)addX:(int)x toY:(int)y {
      int sum = x + y;
      return sum;
  }

就像其他人说的那样,用这种方式重命名你的方法,它会让事情变得更清楚

-(void)moveStuffFromXCoordinate:(int)xCoordinate toYCoordinate:(int)yCoordinate

答案 3 :(得分:0)

基于Apple Documentation on coding guidelines for cocoa,当使用参数命名方法时,参数前面的单词应描述参数。

在论证之前说出这个论词。

正确 - (id)viewWithTag:(NSInteger)aTag;

以上是正确的,因为它将参数描述为Tag,因为下面没有将参数描述为任何参数。

错误 - (id)taggedView:(int)aTag;

所以在你的情况下

错误 -(void)myMethodName:(int)xCoordinate yCoordinate:(int)yCoordinate;

应该是

正确 -(void)myMethodNameForXCoordinates:(int)xCoordinate andYCoordinate:(int)yCoordinate;