DDMathParser:如何让解析器知道函数的输入,即sin函数,是以度还是弧度?如果"模式"是度,我想执行:sin(n * 2 * pi / 360),或者只是sin(n)如果"模式"是弧度。
我无法在_DDFunctionUtilities中获取类方法来识别在其他地方定义的任何属性。
答案 0 :(得分:1)
库很可能使用C的math.h sin()函数,它总是以弧度为单位。请参阅(如果您感兴趣)the C standard(大PDF)的第7.12.4.6节
为了让您的应用程序同时提供这两个选项,您可以通过多种方式实现此目的。最好的方法取决于您的应用程序。如果我使用模式制作计算器,我可能会有一个计算器实例(模型),它具有sin / rad模式的@property,然后我的视图将有一个连接到viewController方法-(IBAction)toggleAngleMeasurementUnit:(UIButton) sender
的按钮,在calc对象上调用适当的方法(它还负责委派大多数其他按钮。然后在你的计算器类中,使用这些值的任何代码首先检查模式并进行适当的转换(或者,或许更引人注目的是,仅模式)影响访问器方法,并且值以规范的方式存储(即总是弧度),这将允许我做30度+ pi弧度=?