2012-07-18 129 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];是錯誤的

相關問題