2011-08-01 15 views
0

私はCの目標を新しくしています。私は多くの困難を抱えています。あなた達が私を助けてくれることを願っています。別のクラスからのメソッドへのアクセス

申し訳ありませんが、私は外部センサーからのデータをiphoneに接続して表示するView Controllerクラスがあります。私は、そのデータを取得し、グラフをプロットするために使用できる配列に格納する別のデータベースクラスを持っています。

私は、View Controllerクラスのメソッド変数によって取得されたデータをキャプチャし、それを使ってデータベースクラスに格納する方法を見つけるのが難しいです。

以下のコードは、アナログ信号をキャプチャしてUILabelで表示するView Controllerクラスのコードです。

(void) forceCalculationKg{ 
    NSNumber *number = [controller. analogInValues objectAtIndex:0]; 
    [controller enableDigitalInputs:YES]; 
    double value = [number doubleValue]; 
    double force; 
    force = 0.2908 *pow(2.718,(1.2089 * value)); 
    double forcekg; 
    forcekg = force/2.2; 
    forceoutput.text = [NSString stringWithFormat:@" %0.1f", forcekg]; 
} 
+0

センサークラスのデータの取得が完了したら、データクラスに警告する必要があります。これを行うには、センサークラスによってスローされたイベントにサブスクライブし、それに応じて応答します。 –

答えて

0

実際にコンパイルされたこの質問のコードは送信しませんでした。しかし、いずれにせよ、私はあなたのforceCalculationKgメソッドがセンサーデータを取得するために呼び出すコントローラ上の関数だと仮定します。次に、計算にデータを適用して表示します。このデータを保持するには、コントローラにNSMutableArrayプロパティを追加し、変換された各データポイントを保存してください。

datapointsあなたは@propertyと@synthesizeキーワードを介して、あなたのビューコントローラに追加 NSMutableArray財産である
-(void) forceCalculationKg { 
    NSNumber *number = [controller.analogInValues objectAtIndex:0]; 
    [controller enableDigitalInputs:YES]; 
    double value = [number doubleValue]; 
    double force = 0.2908 *pow(2.718,(1.2089 * value)); 
    double forcekg = force/2.2; 
    [self.datapoints addObject: [NSNumber numberWithDouble: forcekg]]; 
    forceoutput.text = [NSString stringWithFormat:@" %0.1f", forcekg]; 
} 

。プログラムの周りのdatapoints配列を必要な場所に渡すことができます。

+0

実際に私はコンパイルするメソッドのコードを書いていません。 forceCalculationKgは、analogInValuesを介してアナログ信号を受け取り、可変値を渡すView Controllerクラスからのものです。私がしたいのは、この変数を使用してNSMutable配列に格納してグラフをプロットするために使用できる別のクラスにメソッドを書くことです。 – ilaunchpad

+0

さて、私が示したコードは、あなたが置く場所をあなたが選ぶ場所であれば動作します。ビューコントローラにクラスへの参照を含めるか、クラスレベルのメソッドを介して他のオブジェクトでnsmutable配列にアクセスできるようにしてください。 – Perception

関連する問題