小编Had*_*adi的帖子

ParseKit的汇编程序回调如何工作?我应该在哪里存储我在其中的工作?

我应该如何在parsekit中使用回调函数?假设我有以下规则:

expr_s = expr_p '+' expr_s | expr_p ; 
Run Code Online (Sandbox Code Playgroud)

我应该从生成的PKAssembly中弹出3个符号并添加第一个和最后一个数字,然后将答案推回堆栈?
对于上述规则,我应该如何知道导致匹配的第一个或第二个规则?
我不明白ParseKit调用回调函数的顺序.我真的可以使用一些帮助.

感谢Todd的回复,记住你的指示我写了下面的语法和回调函数,用于包含加法和乘法的简单数学表达式:

- (IBAction)press_equals:(id)sender {
NSString *g = @"@start = expr_s; expr_s = expr_p ('+'! expr_p)+ ; expr_p = Number ('*'!     Number)+  ;";
PKParser *p = [[PKParserFactory factory] parserFromGrammar:g assembler:self];
NSString *s = @"3*4+4*8";

[p parse:s];

PKAssembly *res = [p parse:s];
NSLog(@"res %@", res);

}



- (void)parser:(PKParser *)p didMatchExpr_s:(PKAssembly *)a {
NSLog(@"%s %@", __PRETTY_FUNCTION__, a);

NSArray *toks = [a objectsAbove:nil];


double total = 0.0;
for (PKToken *tok in toks) …
Run Code Online (Sandbox Code Playgroud)

objective-c parsekit

6
推荐指数
1
解决办法
468
查看次数

iOS 罗盘航向是否有可能获得低于一度的精度?

基本上我想知道iPhone高精度指向的方向,我尝试了CLLocationManager:问题是CLHeading.magnetHeading返回一个双精度值,例如36.44323,但是当我开始转动设备时,CLLocationManager仅在达到1度时更新方向,所以数字如下所示:36.44323、37.44323、38.44323 等等。是否可以有更高的准确度?

magnetometer heading ios compass-geolocation

1
推荐指数
1
解决办法
2277
查看次数

如何制作一个看起来和UIAlertView一模一样的UIView?

我想在屏幕上显示一些标签,并且想让它们看起来与 UIAlertView 完全相同。如何复制外观?请注意,我不关心警报视图的任何功能,只想要默认外观,因为它看起来不错。未设置 UIAlertView 上的 backgroundColor 等常见属性,并且 CALayer 的属性未显示任何有用的内容。

有任何想法吗?

appearance uialertview ios

0
推荐指数
1
解决办法
1727
查看次数