【问题标题】:Accessing methods from another class从另一个类访问方法
【发布时间】:2011-08-01 19:50:19
【问题描述】:

我是 C 目标的新手,遇到了很多困难。希望你们能帮助我。

好的,我有一个视图控制器类,它显示来自插入 iphone 的外部传感器的数据。我有另一个数据库类,它应该抓取该数据并将其存储在一个可用于绘制图形的数组中。

我很难找到一种方法来捕获视图控制器类方法变量捕获的数据并将其存储在数据库类中。

下面的代码来自 View Controller 类,它捕获模拟信号并显示在 UILabel 中。

(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];
}

【问题讨论】:

  • 当传感器类完成提取数据时,您需要提醒您的数据类。您可以通过订阅传感器类引发的事件然后做出相应的响应来做到这一点。

标签: iphone cocoa-touch methods ref


【解决方案1】:

您没有为实际编译的这个问题提交代码。但无论如何,我假设您的 forceCalculationKg 方法是您调用以检索传感器数据的控制器上的函数?然后,您正在对数据应用计算并显示它,对吗?要保留这些数据,只需向控制器添加一个 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]; 
} 

其中datapointsNSMutableArray 属性,您可以通过@property 和@synthesize 关键字添加到视图控制器。然后,您可以将程序周围的 datapoints 数组传递到您需要的任何地方。

【讨论】:

  • 其实我还没有为编译的方法写代码。 forceCalculationKg 来自视图控制器类,它通过analogInValues 获取模拟信号并传入变量值。我想要做的是在另一个类中编写一个方法,该方法可以使用这个变量并将其存储在 NSMutable 数组中以用于绘制图形。
  • 好的。那么我展示的代码可以在你选择的任何地方使用。只需记住在视图控制器中包含对类的引用,或者通过类级别的方法使 nsmutable 数组在其他对象中可访问。
猜你喜欢
  • 2022-12-05
  • 2017-05-12
  • 2012-03-19
  • 2015-01-21
  • 2014-10-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多