2011-02-12 91 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

相关问题