2013-03-07 66 views
2

,我一個宏定義是什麼,我試圖完成的NSDictionary對象,創建的NSArray從宏觀

#define NAME_List @"a,aaa,aac,aacaaba,abbbb" 

我使用componentsSeperatedByString:其優良的給我NSString對象的數組轉換這NSArray,而不是我想NSDictionary對象,像,

[0] - > 「名稱」= 「一個」

[1] - > 「名稱」= 「AAA」

[2] - > 「名稱」= 「AAC」」

&不喜歡,

[0] - >一個 [1] - > AAA [2] - > AAC

我嘗試這樣做(但我沒有爲NSKeyedArchiverNSPropertyListFormatNSPropertyListSerialization類的任何想法)

NSData *data = [NSKeyedArchiver archivedDataWithRootObject:arrayNames]; 
NSError *error = nil; 
NSPropertyListFormat plistFormat; 
NSDictionary *temp = [NSPropertyListSerialization propertyListWithData:data options:NSPropertyListImmutable format:&plistFormat error:&error]; 

更新

我可以通過遍歷數組,並創建Dictionary對象,並把它添加到陣列要做到這一點,但我不想做這樣的!

有哪些可以做到這一點任何可用的功能呢?

+1

你試過'[NSDictionary dictionaryWithKeys:someArray andValues:someOtherArray]'嗎?您將需要無論如何指定你的字典鍵,據我所知... – katzenhut 2013-03-07 09:40:09

+0

你確定你想不循環/迭代/遞歸? – 2013-03-07 10:49:21

+0

是的,如果可能的話!我正在尋找一些更好的替代品,然後循環它更快!我只顯示幾個字符串中的問題,在真正有72K +字符串 – Hemang 2013-03-07 10:56:28

回答

0
NSMutableArray *resultArr = [NSMutableArray array]; 
NSArray *arr = [NAME_LIST componentsSeperatedByString:@","]; 
for(NSString *str in arr) { 
    NSDictionary *nameDictionary = [NSDictionary dictionaryWithObject:str forKey:@"Name"]; 
    [resultArr addObject:nameDictionary]; 
} 
NSLog(@"%@", resultArr); 
+0

感謝埃裏克,我用這種方法稱爲! :)請檢查我更新的問題! – Hemang 2013-03-07 10:08:11