0

长话短说,我正在尝试将输入字符串解析为“令牌”.....

我可以完全控制令牌的放置位置,我可以通过 NSLog 看到我的输入字符串的格式完全正确(甚至直到尝试标记之前的那一刻)。

出于本次讨论的目的,我正在构建一个简单的计算器,它可以理解输入、RPN 输入,然后我遇到的问题是标记化和评估。

无论如何,假设我的输入字符串是

55:6:+:3:+:9:3:/:-

已插入“:”以有目的地在每个“令牌”之间创建分隔符。然后我尝试做类似的事情

 NSArray *chunks = [input componentsSeparatedByString:@":"];

这总是失败的。如果我尝试“sizeof”,我始终会在阵列上得到 4,即使它显然应该是 9....

想法?

4

1 回答 1

1

正如我在这里测试过的那样,该方法适用于您的输入。您不能使用 sizeof() 来检查 NSArray 中的元素数量。NSArray 指针的 sizeof 为您提供 4 字节或 8 字节的指针大小,具体取决于您使用的是 32 位还是 64 位机器。它不是 NSArray 中的对象数。如果要检查 NSArray 中的对象数量,请使用 count 方法。

于 2013-01-24T05:30:57.757 回答