我试图将另一个类的变量调用到我的函数中。我尝试过很多方法,并且不断出错。这是我的代码的一部分:
- (void) planning: (Deliver*) m :(Car*) n{
int cost = 0;
Cost = Deliver.street - Car.avenue;
}
问题是我想从Deliver和Car类中获取变量street
和avenue
,但是我收到一条错误,说明此行中{class class'中找不到“属性'avenue'{{ 1}}我也通过Deliver解决了这个问题。
我尝试在函数中添加Cost = Deliver.street - Car.avenue;
,但它仍然无法解决此问题。我已经在@property中添加了街道和大道,并在Deliver和Car课程中添加了@synthesis。
有什么建议吗?
答案 0 :(得分:6)
- (void) planning: (Deliver*) m :(Car*) n{
int cost = 0;
cost = m.street - n.avenue;
}
关于您的代码段,有几点值得注意。首先,它实际上没有做任何事情,因为它将其工作存储在局部变量(cost
)中,并且不返回该变量; cost
将在方法结束时被丢弃。其次,你还没有命名你的第二个方法参数。更常规的是使用描述方法及其每个参数的目的的名称,例如:
- (int) calculateCostToDeliverTo:(Deliver*)destination withCar:(Car*)car {
int cost = destination.street - car.avenue;
return cost;
}