Tom*_*Tom 21 parameters syntax message objective-c
我有一个方法:
- (void)pan:(double)lat longitude: (double) lon{...}
当我调用它时Xcode显示如下:
[self pan:(double) longitude:(double)]
是不是可以设置第一个参数,像第二个(longitude),Xcode可以这样显示:
[self pan: latitude:(double) longitude:(double)]
在调用时我无法看到第一个参数的名称,这让我非常讨厌.这是我的错还是不可能?
Car*_*rum 16
做你要求的正常方法是声明你的方法,如:
-(void)panLatitude:(double)lat longitude:(double)lon;
Run Code Online (Sandbox Code Playgroud)
也就是说,在开头包含方法名称的第一个参数的标签.你会像以下一样使用它:
[self panLatitude:x longitude:y];
Run Code Online (Sandbox Code Playgroud)
小智 10
您只需要以不同方式命名方法.
- (void)panToLatitude: (double)lat longitude: (double)lon;
Run Code Online (Sandbox Code Playgroud)
Objective-C实际上没有命名参数.该方法的名称是(在您的示例中,不是我上面的版本),-pan:longitude:并且该语言使用中缀表示法来传递参数.
请记住,objective-c是关于向对象发送消息 - 消息是args.因此,消息的第一部分通常包含动词和第一部分数据.它应该很容易阅读.
不要将方法名称视为"pan".在C#和Java中,方法名称为Pan,args为经度和纬度.你的方法应该是这样的.
- (void) panToLatitude:longitude:
Run Code Online (Sandbox Code Playgroud)
该字符串是您的函数(消息)名称.可以把它想象成发送一个字典的消息,第一个项目包含动词.我来自C langs背景,所以这是一种不同的思维方式.