我是Objective-C编程的新手,并且掌握了一些C ++。作为我的第一个程序之一,我正在尝试制作一个可以记录用户心率的相当简单的应用程序。
我创建了一个类来存储所有这些信息(称为HeartRate),我想从中创建一个对象。但是,我遇到了范围问题并初始化了对象。我试图在一个名为'buttonPressed'的方法中初始化它,但该对象在该函数之外是不可访问的。
我研究过使用AppDelgate,但没有太多运气 - 就像我提到的,我是Objective-C的初学者,所以它可能会完成,但我不知道该怎么做。< / p>
我可以在哪里安全地初始化它,以便其他功能可以访问它?
如果你们要我发布任何代码或更详细地解释,我会很高兴。
以下是IBAction的代码:
-(IBAction)buttonPressed:(id)sender{
HeartRate *HR = [[HeartRate alloc]init];
int beats = [HR getBeats];
[HR setBeats:(beats+1)];
NSString *outputBeats = [NSString stringWithFormat: @"%i", [HR getBeats]];
beatsText_.text = outputBeats;
答案 0 :(得分:1)
将对象声明为实例变量,以便在包含HeartRate的类中的任何位置访问它:
@interface AppDelegate: NSObject <UIApplicationDelegate> {
HeartRate *rate;
}
@end
@implementation AppDelegate
- (void)buttonPressed {
rate = [[HeartRate alloc] init];
// etc.
}
@end