2011-03-19 81 views
0

我有一個{{「foo」,「僅限食物」},{「bar」,「嬰兒是拉德」}}的NSArray,我需要最終得到2個NSArrays:一個字符和一個相應的單詞。所以@「f」,@「o」,@「b」,@「a」,@「r」和@「食物」,@「僅」,@「嬰兒」,@「都是」,@「拉德」將是我的兩個NSStrings的NSArray。iPhone - 將NSString分成char NSStrings

因此,首先,我怎麼@ 「F」,@ 「O」,@ 「O」 由@ 「富」

其次我怎麼能只保留唯一身份?我猜NSDictionary,只添加如果鑰匙不在那裏給我@「f」:@「食物」@「o」:@「only」然後使用getObjects:andKeys:得到兩個C數組,我將轉換爲NSArrays ..

基於下面的答案,我去了以下。我沒有實際使用的NSMutableDict,我只是說我的信給它創造我2個輸出數組之前得到的唯一性檢查:

 unichar ch = [[arr objectAtIndex:0] characterAtIndex:i]; 
     NSString *s = [NSString stringWithCharacters: &ch length: 1]; 

     if (![dict objectForKey:s]) { 
     } 

回答

1

如果你想有一個字符串的單個字符,嘗試-characterAtIndex:。這將讓你他們的unichar原始類型,然後你就可以在NSString包裹,像這樣:

unichar ch = ...; 
NSString *chString = [NSString stringWithCharacters: &ch length: 1]; 

要保留的唯一身份,你可以存儲對象的NSMutableSet,但不會保留在對象的順序被添加到它。

+0

將增加兩個NSArrays檢查的唯一身份{@「F」,@「富」}和{@「f」,@「foo」}給一個可變集合添加了兩個或者他們測試的結果是否相等,只有一個會被添加? – Mark 2011-03-19 21:17:34

+0

集合'{f,foo}'和'{f,foo}'的集合集合是'{f,foo}'。無論您添加多少次,平等對象只會出現一次。 – 2011-03-20 03:26:30