2012-07-18 96 views
-6

对不起,复杂的标题,但我真的不知道到这个词的最好方法,我这里有两种方法 .H如何从另一种方法在同一.m文件调用一个方法

@interface Deck : NSObject 

-(void) shuffle: (NSMutableArray *) unshuffledDeck; 

-(NSMutableArray *) giveHand: (NSMutableArray *) deck; 

-(void) moveOpperand: (NSMutableArray *) moveFrom :(NSMutableArray *) moveTo; 

@end 

.M

-(void) moveOpperand: (NSMutableArray *) moveFrom :(NSMutableArray *) moveTo{ 
    NSString *opperandObject = [moveFrom lastObject]; 
    if (opperandObject) { 
    [moveTo addObject:moveFrom.lastObject]; 
     [moveFrom removeLastObject]; 
    } 
} 

-(NSMutableArray *) giveHand: (NSMutableArray *) deck{ 
    NSMutableArray *hand; 
    for (int i=0; i<7; i++) { 
     [moveOpperand [_refrenceDeck] [hand]]; //use of undeclared identifier 'moveOpperand' 
    } 
    return hand; 
} 

,正如你可以看到我试图拨打上面的一个在下面的一个,这个问题是我不断收到我上面的评论说,邮件使用未声明的标识符的,我不知道为什么会发生,所以我想知道,你怎么称呼你从另一个会面写的方法在同一个.m文件中?

+4

难道你不想在编写操作系统之前阅读Objective-C教程吗? – 2012-07-18 19:37:29

+0

'[self moveOperand:_referenceDeck:hand];'声明该方法有点令人困惑 - moveFrom是一个参数,而不是参数名称,所以[self moveOperand:_referenceDeck moveFrom:hand];是错误的 – 2012-07-18 19:38:15

回答

1
[self moveOpperand:arg1 :arg2]; 

还要注意的是self指实例/一个实际的对象时在实例方法,和类本身时,类(“静态”)的方法。

+0

@JoshCaswell你在这里 - 很难看到背后这种非常不可读的编码实践。 – 2012-07-18 19:46:39

+0

@ H2CO3感谢您使用正确的变量名称!它真的很高兴加入一个设计的论坛帮助回答编码问题只是被批评你想问什么 – 2012-07-18 19:58:21

+2

@William:你在说什么? – 2012-07-18 20:01:01

2

[self moveOperand:_referenceDeck :hand];声明该方法有点令人困惑 - moveFrom是一个参数,而不是参数名称,所以[self moveOperand:_referenceDeck moveFrom:hand];是错误的

相关问题