objective-c – 将新结构作为参数传递

前端之家收集整理的这篇文章主要介绍了objective-c – 将新结构作为参数传递前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有这样的功能
- (void)addBalloon:(COLOR)color:(VELOCITY)velocity:(LOCATION)location

其中COLOR是枚举,VELOCITY和LOCATION是常量头文件中定义的结构.

VELOCITY和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来完成..但如果它不能..是唯一另一个可行的选项,创建一个返回VELOCITY或LOCATION并输入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}];

要么

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

猜你在找的C&C++相关文章