2

私はObjective-Cでのプログラミングに不慣れで、C++を使用しています。私の最初のプログラムの1つとして、ユーザーの心拍数を記録できる非常にシンプルなアプリを作成しようとしています。

このすべての情報を格納するクラス(HeartRateと呼ばれる)を作成し、そこからオブジェクトを作成します。ただし、スコープとオブジェクトの初期化に問題があります。'buttonPressed'というメソッド内で初期化しようとしていますが、この関数の外部からオブジェクトにアクセスできません。

AppDelgateの使用を検討しましたが、あまり運がありませんでした。前述のように、私はObjective-Cの初心者なので、おそらく実行できますが、その方法がわかりませんでした。

他の機能にアクセスできるように、これをどこで安全に初期化できますか?

コードを投稿したり、詳細を説明したりしてほしい場合は、喜んで対応させていただきます。

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;
4

1 に答える 1

1

HeartRate を含むクラス内の任意の場所にアクセスするために、オブジェクトをインスタンス変数として宣言します。

@interface AppDelegate: NSObject <UIApplicationDelegate> {
    HeartRate *rate;
}

@end

@implementation AppDelegate

- (void)buttonPressed {
    rate = [[HeartRate alloc] init];
    // etc.
}

@end
于 2012-08-16T22:16:00.093 に答える