如何从同一.m文件中的另一个方法调用方法

时间:2012-07-18 19:32:13

标签: objective-c ios

很抱歉复杂的标题,但我不确定最好的方法,我有两种方法 .H

@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文件中调用你从另一个方法编写的方法?

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

[self moveOpperand:arg1 :arg2];

另请注意,self在实例方法中引用实例/实际对象,在类(“静态”)方法中引用类本身。