2011-02-12 74 views

回答

0

這是一個模糊的問題,但跳轉關鍵字extern。它允許文件共享變量。

ScoreGiver控制得分。 ScoreNeeder使用相同的分數。

ScoreGiver.h:

int score; 
void incrementScore(); 

ScoreGiver.m:

#import "ScoreGiver.h" 

int score = 0; 

void incrementScore() { 
    score++; 
} 

ScoreNeeder.h:

extern int score; 
void logScore(); 

ScoreNeeder.m:

#import "ScoreNeeder.h" 

void logScore() { 
    NSLog(@"This score is now: %d", score); 
} 

的main.m:

#import "ScoreNeeder.h" 
#import "ScoreGiver.h" 

/*********OUTPUT************ 
The score is now: 0 
The score is now: 1 
The score is now: 3 
***************************/ 
int main (int argc, const char * argv[]) { 
    logScore(); 
    incrementScore(); 
    logScore(); 
    incrementScore(); 
    incrementScore(); 
    logScore(); 
} 

注:這不是良好的編程習慣使用全局變量這樣的,尤其是在面向對象的語言。

0

在代碼文件將被接收整數,創建一個屬性和方法簽名像這樣:

@interface FinalViewController : UIViewController{ 
    NSInteger finalScore; 
} 

@property(nonatomic, retain) NSInteger finalScore; 

-(void)setFinalScore:(NSInteger)num; 
@end 

而且方法應該是這樣的:

-(void)setFinalScore:(NSInteger)num{ 
self.finalScore = num; 
}

然後,部件您從原始視圖實例化視圖控制器應該看起來像這樣:

FinalViewController *finalView = [[FinalViewController alloc] initWithNibName:@"FinalView" 
bundle:nil]; [finalView setFinalScore:score] [view addSubview:finalView.view];
+0

好的,我會在哪裏放第二位代碼?林困惑... – ipodfreak0313 2011-02-12 00:46:31

+0

我會把這個代碼在哪裏? – ipodfreak0313 2011-02-12 00:54:06

相關問題