Convert NSString separated by comma to NSArray
16,237
Solution 1
There are two methods
- - (NSArray *)componentsSeparatedByString:(NSString *)separator
- - (NSString *)componentsJoinedByString:(NSString *)separator
Use
NSString *myString = [myArray componentsJoinedByString:@","]; //instead of [myArray description];
Solution 2
This is what the NSArray prints out.
"(
\"<MPConcreteMediaItem: 0x1b7dd0> 8671085923283003246\"",
"
\"<MPConcreteMediaItem: 0x1b7e50> 16275751483823231324\"",
"
\"<MPConcreteMediaItem: 0x1b7e70> 4976771456698615367\""
)"
To print out the individual elements in the array try this and see what happens
NSString *myString1 = [myArray objectAtIndex:1];
NSString *myString2 = [myArray objectAtIndex:2];
NSLog(myString1);
NSLog(myString2);
Solution 3
Maybe I'm missing something but you are doing operations on "C" strings not NSStrings. You need more "@"s.
Author by
user523234
Updated on June 05, 2022Comments
-
user523234 almost 2 years
Possible Duplicate:
Convert NSArray to NSString in Objective-CI have an array of an NSArray myArray, here is the content:
( "<MPConcreteMediaItem: 0x1b7dd0> 8671085923283003246", "<MPConcreteMediaItem: 0x1b7e50> 16275751483823231324", "<MPConcreteMediaItem: 0x1b7e70> 4976771456698615367" )
I used the code below to assign to an NSString myString:
NSString *myString = [myArray description];
And the out put is still as expected:
( "<MPConcreteMediaItem: 0x1b7dd0> 8671085923283003246", "<MPConcreteMediaItem: 0x1b7e50> 16275751483823231324", "<MPConcreteMediaItem: 0x1b7e70> 4976771456698615367" )
Now, say I want to convert myString back to an array named newArray, I used this:
NSArray *newArray = [[NSArray alloc]init]; newArray = [myString componentsSeparatedByString:@","];
But the content of the newArray is now different:
( "( \"<MPConcreteMediaItem: 0x1b7dd0> 8671085923283003246\"", " \"<MPConcreteMediaItem: 0x1b7e50> 16275751483823231324\"", " \"<MPConcreteMediaItem: 0x1b7e70> 4976771456698615367\"" )" )
Any idea what I need to do to fix this?
-
Paul.s over 12 yearsI am assuming this is not raw code but the output form an
NSLog()
therefore it will not have the@
's -
ravinder521986 over 10 yearsreally very helpful for me. thanks