2015-04-23 145 views
0

我有一个名为child_list的数组,如child_list:“9,8,21,22,20,24,25”,在索引0时将它转换为NSString,当我将它转换为字符串时,它的工作,但是当我使用NSMutableArray时,它崩溃,我不知道为什么。iOS如何以逗号分隔的数组对象转换为字符串?

我的代码是在这里:

if([theDictionary objectForKey:@"child_list"]) 
    { 
     NSString *str = [[theDictionary objectForKey:@"child_list"]objectAtIndex:0]; 
     NSLog(@"Child List %@",str); 
     _child_list = [[NSMutableArray alloc ]initWithObjects: [str componentsSeparatedByString:@","], nil]; 
    } 

当破发点来吧str它显示的结果,当谈到对_child_list坠毁。

+0

做的NSLog(@ “儿童名单%@”,STR);这个日志打印“9”。或者只是“9” – Vaisakh

+0

将child_list创建为NSMutableArray。它会完美地工作。不需要改变任何东西。 –

+0

如何尝试这样做:_child_list = [str componentsSeparatedByString:@“,”]。mutableCopy –

回答

0

请分享您的日志返回和您使用的字典.. 代码[str componentsSeparatedByString:@","]返回一个数组。所以,当你分配一个可变数组时,你正在创建一个数组数组...而是使用initWithObjects,使用initWithArray方法并将[str componentsSeparatedByString:@","]传递给它。

+0

like that _child_list = [[NSMutableArray alloc] initWithArray:[str componentsSeparatedByString:@“,”],nil]; – riz

+0

其错误 – riz

+0

不,用这种方式.. _child_list = [[NSMutableArray alloc] initWithArray:[str componentsSeparatedByString:@“,”]]; – Tejvansh

1

使用initWithArray而分配_child_list的NSMutableArray

方法
if([theDictionary objectForKey:@"child_list"]) 
    { 
     NSString *str = [[theDictionary objectForKey:@"child_list"]objectAtIndex:0]; 
     NSLog(@"Child List %@",str); 
     _child_list = [[NSMutableArray alloc ] initWithArray:[str componentsSeparatedByString:@","]]; 
    } 
+2

到底是什么',nil'? 'arrayWithArray:'只有一个参数。而我不是简单地在数组上使用'mutableCopy'? – rmaddy

+0

@bhavesh将arraywitharray当作你的代码发生错误 – riz

相关问题