从另一个类别调用void方法

问题描述:

我有两个类:MainClassSecondClass。我导入了SecondClass.HMainClass.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],......

+1

应该有效。你遇到了什么错误? – Thilo 2012-08-03 07:00:32

+1

请告诉我,你并不是在想这个故事! – CodaFi 2012-08-03 07:03:54

+0

什么是错误?你的代码看起来很好。 – 2012-08-03 07:06:21

比方说,你有两个类,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]; 
+0

,这似乎是我所拥有的......我将在部分文章中发布我的代码。我有这两种方法在不同的类别 - (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

+0

唯一的问题是,当他的故事板,他需要跨越两个VC的有效参考,这意味着拖动一个NSObject到故事板文件...呃,反模式给了我寒战。 – CodaFi 2012-08-03 07:20:19

+0

我的错误。这已经解决了。 – 2012-08-03 10:15:15