我想要一个测验,在最后显示分数。但是由于它是在一对不同的.h和.m文件中,我将如何将它带出来?如何将NSInteger从一个.h或.m文件转换为另一个.h或.m文件?
0
A
回答
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];
相关问题
- 1. 一个.h多个.m文件
- 2. 如何将变量从一个.m文件更改为另一个m文件?
- 3. 如何从Storyboard生成.m/.h文件?
- 4. 合并.h和.m文件
- 5. * .xib,* .m和* .h文件如何关联?
- 6. 如何将Blender blend(或obj)文件转换为.h文件?
- 7. 在另一个类的相同.h/.m文件中定义一个类别
- 8. MATLAB:从另一个M文件调用M文件
- 9. 如何在时间序列数据中将y%m%d%H格式转换为“%Y%m%d%H:%M:%S”
- 10. 如何从一个.M传递一个字符串到另一个.m文件
- 11. 从一个项目复制* .m&* .h文件到另一个项目时,iPhone:Nib文件无法正常工作
- 12. 从另一个.m文件调用navcontroller
- 13. 如何将m文件转换为dll?
- 14. 如何访问这个数据库文件? (* .H ##,* .I ##,* .M ## ...)
- 15. 符号导航器显示h或m文件
- 16. 如何将字符串值从一个.m文件传递给另一个.m文件
- 17. 如何将结果/ bin /日期“%Y-%m-%d%H:%M:%S”转换为秒?
- 18. 转换日期为 “%Y%M%d%H%M%S” 在大熊猫
- 19. 多个.h和.m文件,多个接口定义
- 20. 你如何定义一个签名h :: M Int - > M Int - > M Int的函数,使得h(M x)(M y)= M(x + y)而不展开monad?
- 21. Android H.263或H.264文件?
- 22. * .h和* .m文件中的两个接口
- 23. 如何在另一个.m文件中引用一个函数?
- 24. 将.m文件转换为.mat
- 25. Xcode 7只生成.m文件,没有.h文件
- 26. 从一个.M将字符串传递到另一个.M
- 27. 将按钮ID从一个.m传递到另一个.m
- 28. 如何将m文件转换为c文件
- 29. #include .h或.cpp文件?
- 30. 如何让Xcode首先打开.h而不是.m文件?
好的,我会在哪里放第二位代码?林困惑... – ipodfreak0313 2011-02-12 00:46:31
我会把这个代码在哪里? – ipodfreak0313 2011-02-12 00:54:06