Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 将新结构作为参数传递_Objective C - Fatal编程技术网

Objective c 将新结构作为参数传递

Objective c 将新结构作为参数传递,objective-c,Objective C,我有这样一个函数: - (void)addBalloon:(COLOR)color:(VELOCITY)velocity:(LOCATION)location 其中,颜色是枚举,速度和位置是常量头文件中定义的结构 速度和位置都存储两个整数,x和y 调用此方法时,我会这样调用它: VELOCITY vel; LOCATION loc; vel.x = 100.0; vel.y = 0.0; loc.x = 10.0; loc.y = 10.0; [self addBalloon:Red:

我有这样一个函数:

- (void)addBalloon:(COLOR)color:(VELOCITY)velocity:(LOCATION)location 
其中,颜色是枚举,速度和位置是常量头文件中定义的结构

速度和位置都存储两个整数,x和y

调用此方法时,我会这样调用它:

VELOCITY vel;
LOCATION loc;

vel.x = 100.0;
vel.y = 0.0;

loc.x = 10.0;
loc.y = 10.0;

[self addBalloon:Red:vel:loc];
但对我来说,这似乎是杂乱无章的。我想在一行中直接调用函数,同时在该行中创建结构

我的问题是:我不确定是否可以使用#define.实现这一点。。但如果不能。。唯一可行的选择是创建一个返回速度或位置并接受输入x和y的函数吗

我想做如下工作:

[self addBalloon:Red:VELOCITY(100.0, 0.0):LOCATION(10.0, 10.0)];

您可以对指定的初始化器使用C99语法:

[self addBalloon:Red:(VELOCITY){100.0, 0.0}:(LOCATION){10.0, 10.0}];


请在冒号之间输入文本。了解如何在每个冒号之前没有方法名称的任何部分吗?SDK中的任何地方都不会发生这种情况,因此您不应该自己做。()
[self addBalloon:Red:(VELOCITY){.x=100.0, .y=0.0}:(LOCATION){.x=10.0, .y=10.0}];