2013-03-07 67 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