将由逗号分隔的NSString转换为NSArray

use*_*234 12 objective-c nsstring nsarray ios

可能重复:
在Objective-C中将NSArray转换为NSString

我有一个NSArray myArray的数组,这里是内容:

 (
            "<MPConcreteMediaItem: 0x1b7dd0> 8671085923283003246",
            "<MPConcreteMediaItem: 0x1b7e50> 16275751483823231324",
            "<MPConcreteMediaItem: 0x1b7e70> 4976771456698615367"
 )
Run Code Online (Sandbox Code Playgroud)

我使用下面的代码分配给NSString myString:

NSString *myString = [myArray description];
Run Code Online (Sandbox Code Playgroud)

而且输出仍然如预期:

 (
            "<MPConcreteMediaItem: 0x1b7dd0> 8671085923283003246",
            "<MPConcreteMediaItem: 0x1b7e50> 16275751483823231324",
            "<MPConcreteMediaItem: 0x1b7e70> 4976771456698615367"
 )
Run Code Online (Sandbox Code Playgroud)

现在,假设我想将myString转换回名为newArray的数组,我使用了这个:

NSArray *newArray = [[NSArray alloc]init];
newArray = [myString componentsSeparatedByString:@","];
Run Code Online (Sandbox Code Playgroud)

但是newArray的内容现在不同了:

(       
"(
    \"<MPConcreteMediaItem: 0x1b7dd0> 8671085923283003246\"",
        "
    \"<MPConcreteMediaItem: 0x1b7e50> 16275751483823231324\"",
        "
    \"<MPConcreteMediaItem: 0x1b7e70> 4976771456698615367\""
)"
) 
Run Code Online (Sandbox Code Playgroud)

知道我需要做些什么来解决这个问题吗?

ber*_*ium 42

有两种方法

使用

NSString *myString = [myArray componentsJoinedByString:@","]; //instead of [myArray description];
Run Code Online (Sandbox Code Playgroud)