很抱歉复杂的标题,但我不确定最好的方法,我有两种方法 .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文件中调用你从另一个方法编写的方法?
答案 0 :(得分:2)
[self moveOperand:_referenceDeck :hand];
正如声明的方法有点令人困惑 - moveFrom是一个参数,而不是参数名称,所以[self moveOperand:_referenceDeck moveFrom:hand];是错的
答案 1 :(得分:1)
[self moveOpperand:arg1 :arg2];
等
另请注意,self
在实例方法中引用实例/实际对象,在类(“静态”)方法中引用类本身。