Ios4 如何将NSInteger从一个.h或.m文件转移到另一个.h或.m文件?

Ios4 如何将NSInteger从一个.h或.m文件转移到另一个.h或.m文件?,ios4,Ios4,我想做一个测验,在最后显示分数。但是,由于它位于一对不同的.h和.m文件中,我将如何将其带过来?在将接收整数的代码文件中,创建一个属性和方法签名,如下所示: @interface FinalViewController : UIViewController{ NSInteger finalScore; } @property(nonatomic, retain) NSInteger finalScore; -(void)setFinalScore:(NSInteger)num; @e

我想做一个测验,在最后显示分数。但是,由于它位于一对不同的.h和.m文件中,我将如何将其带过来?

在将接收整数的代码文件中,创建一个属性和方法签名,如下所示:

@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];

这是一个模糊的问题,但我突然想到了关键词extern。它允许文件共享变量

记分员控制分数,就像。 记分员使用相同的分数

记分员。h:

记分员m:

记分员h:

记分员m:

main.m:


注意:像这样使用全局变量是不好的编程实践,尤其是在面向对象语言中。

这没有意义。我想把nsinger从一个.m文件带到另一个文件。是的,您正在创建一个类的实例,然后将其传递给对象。这应该对你有用。只要再读一遍,试一试……好吧,这很有效。但现在我有另一个问题,我觉得它与这个问题关系太密切了,所以没有其他的帖子。我如何让一个按钮改变视图上标签的文本,这个按钮也会显示出来?这有点复杂。通过工作帮助了我。如果回答了您的问题,请在回答中打上绿色复选标记。
int score;
void incrementScore();
#import "ScoreGiver.h"

int score = 0;

void incrementScore() {
    score++;
}
extern int score;
void logScore();
#import "ScoreNeeder.h"

void logScore() {
    NSLog(@"This score is now: %d", score);
}
#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();
}