2013-01-24 73 views
0

長話短說,我試圖解析輸入字符串爲「令牌」 .....標記生成器使用componentsSeparatedByString給出不正確的結果

我有這個標記是放置,我可以的NSLog和完全控制看到我的輸入字符串是完全正確地形成的(甚至直到試圖標記化之前的那一刻)。

爲了討論的目的,我正在構建一個簡單的計算器,它可以理解輸入,RPN它們,然後我遇到的問題是使用標記化和評估。

不管怎樣,讓我們​​說我輸入的字符串

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

凡「:」已插入專門創建之間的每個「令牌」分隔符。然後我嘗試做類似於

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

而且這總是失敗。如果我嘗試'sizeof',我總是得到4的陣列,即使它應該明顯是9 ....

想法?

+0

你沒有嘗試打印什麼數組? –

+0

是的......只是。而陣列中的內容似乎是正確的。爲什麼sizeof如此愚蠢? – Meshach

回答

1

該方法適用於您的輸入,因爲我已在此處進行測試。您不能使用sizeof()來檢查NSArray中元素的數量。一個NSArray指針的sizeof會給你指針的大小,它是4個字節或8個字節,取決於你是在32位還是64位機器上。它不是NSArray中的對象的數量。如果你想檢查一個NSArray中的對象的數量,使用count方法。