从另一个类别调用void方法
我有两个类:MainClass
和SecondClass
。我导入了SecondClass.H
到MainClass.m
以使用那里的一些方法。我可以调用一个双类型输入的方法,但我不能(或不知道如何)调用没有(或空类型)输入的方法。 我可以通过以下命令调用double类型的方法:[self.second someMethod2: type double];
我试图通过使用:[self.second someMethod1];
来调用void输入方法,但这不起作用。从另一个类别调用void方法
我有这两个方法在不同的类。
- (空)pushOperand:(双){操作数
NSNumber *operandObject = [NSNumber numberWithDouble:operand];
[self.operandStack addObject:operandObject];
}
- (双)popOperand {
NSNumber *operandObject = [self.operandStack lastObject];
if(operandObject) [self.operandStack removeLastObject];
return [operandObject doubleValue];
}
我能使用第一种方法
[self.brain pushOperand:[self.display.text doubleValue]];
但是xcode甚至找不到第二种方法。我试过
[self.brain popOperand],[self.brain popOperand],......
比方说,你有两个类,ClassA和ClassB的。
重要事项,在ClassA的takeNothingAndReturnNothing的接口文件必须声明为样机像-(void)takeNothingAndReturnNothing;
,使之成为公共
在ClassA
你有一个实例方法称为takeNothingAndReturnNothing
(名称显示THA的方法是无效的)和方法声明是像下面
-(void)takeNothingAndReturnNothing{
NSLog("this is %s from ClassA", __FUNCTION__);
}
在
ClassB
(后导入ClassA
)首先创建的对象,稍后调用其实例方法,如下所示。
ClassA *theObject=[[ClassA alloc]init];
[theObject takeNothingAndReturnNothing];
,这似乎是我所拥有的......我将在部分文章中发布我的代码。我有这两种方法在不同的类别 - (void)pushOperand:(double)operand {operandobject = [NSNumber numberWithDouble:operand]; [self.operandStack addObject:operandObject]; } - (double)popOperand NSNumber * operandObject = [self.operandStack lastObject]; if(operandObject)[self.operandStack removeLastObject]; return [operandObject doubleValue]; } – 2012-08-03 07:18:18
唯一的问题是,当他的故事板,他需要跨越两个VC的有效参考,这意味着拖动一个NSObject到故事板文件...呃,反模式给了我寒战。 – CodaFi 2012-08-03 07:20:19
我的错误。这已经解决了。 – 2012-08-03 10:15:15
应该有效。你遇到了什么错误? – Thilo 2012-08-03 07:00:32
请告诉我,你并不是在想这个故事! – CodaFi 2012-08-03 07:03:54
什么是错误?你的代码看起来很好。 – 2012-08-03 07:06:21