使用componentsSeparatedByString的Tokenizer给出不正确的结果

时间:2013-01-24 05:18:11

标签: ios objective-c

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

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

为了讨论的目的,我正在构建一个简单的计算器,可以理解输入,RPN它们,然后我遇到的问题就是使用标记化并进行评估。

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

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

插入':'以有目的地在每个'标记'之间创建分隔符。然后我尝试做类似

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

这总是失败。如果我尝试'sizeof',我一直在阵列上得到4,即使它应该显然是9 ....

思考?

1 个答案:

答案 0 :(得分:1)

该方法适用于您的输入,因为我在此处进行了测试。您不能使用sizeof()来检查NSArray中的元素数量。 NSArray指针的sizeof为您提供4个字节或8个字节的指针大小,具体取决于您使用的是32位还是64位计算机。它不是NSArray中的对象数。如果要检查NSArray中的对象数,请使用count方法。