Ios 在一个数组中添加三个或更多

Ios 在一个数组中添加三个或更多,ios,objective-c,nsmutablearray,nsarray,Ios,Objective C,Nsmutablearray,Nsarray,我有一个nsarray的输出,比如: 2014-12-16 04:55:30.345 Syndasis[17108:7559904] ( "Hello" ) 2014-12-16 04:55:30.348 Syndasis[17108:7559904] ( "Ciao" ) 2014-12-16 04:55:30.351 Syndasis[17108:7559904] ( "Hola" ) 我不知道如何添加到一个NSMutableArray。如果我这样做: NSMutableArray *

我有一个nsarray的输出,比如:

2014-12-16 04:55:30.345 Syndasis[17108:7559904] (
  "Hello"
)
2014-12-16 04:55:30.348 Syndasis[17108:7559904] (
"Ciao"
)
2014-12-16 04:55:30.351 Syndasis[17108:7559904] (
"Hola"
)
我不知道如何添加到一个NSMutableArray。如果我这样做:

NSMutableArray *ns = [[NSMutableArray alloc] init];
[ns addObject:array];
NSLog(@"%@",ns);
输出为:

2014-12-16 04:59:04.148 Syndasis[17180:7587364] (
    (
    "Hello"
    )
)
2014-12-16 04:59:04.150 Syndasis[17180:7587364] (
    (
    "Ciao"
    )
)
我从以下位置获取阵列:

NSMutableArray *track = [[NSMutableArray alloc] init];

NSDictionary *summary = [dct objectForKey:@"tracks"];
for (NSDictionary *tracks in summary) {
     [track addObject:[tracks objectForKey:@"foreign_id"]];
}
NSArray *arrayPR = [track firstObject];

NSMutableArray *ns = [NSMutableArray arrayWithObjects:arrayPR, nil];
NSLog(@"%@",ns);
谢谢

跟踪响应:

2014-12-16 05:25:29.895 Syndasis[17505:7776895] (
    "Hi",
    "Hola"
)
2014-12-16 05:25:29.895 Syndasis[17505:7776895] (
   "Ciao"
)
我想做:从第一个字符串为ever对象做一个nsarray

 2014-12-16 05:25:29.896 Syndasis[17505:7776895] (
    "Hi",
    "Ciao"
  )  

我不是100%清楚你的问题,根据我的理解,我认为你在寻找:

NSMutableArray *ns = [NSMutableArray arrayWithArray: firstArray];
[ns addObjectsFromArray: secondArray];
[ns addObjectsFromArray: thirdArray]; 

我还有一个办法。这可能会有帮助

让我们在
NSMutableString
中添加所有值,每个值之间有一个分隔符

然后将每个值从该字符串中分离出来,该字符串将为您提供一个数组对象

见以下代码:

NSMutableString *mString = [NSMutableString new];
for (NSDictionary *tracks in summary) {
    [mString appendString:[NSString stringWithFormat:@"%@,",[tracks objectForKey:@"foreign_id"]]];
}
NSMutableArray *array = [NSMutableArray arrayWithArray:[mString componentsSeparatedByString:@","]];
mString = nil;

AlbumList
是一个数组的可变数组,并且您需要每个子数组中第一个对象的数组,则可以使用:

NSArray*firstTracks=[albumLists valueForKeyPath:@“@unionOfObjects.firstObject]”

当然,您可能需要为单独的数组album1和album2执行此操作,因此您可以执行此操作以生成数组数组,然后使用collection操作符:


NSArray*firstTracks=[@[album1,album2]valueForKeyPath:@“@unionOfObjects.firstObject”]

我终于找到了解决方案!我为有同样问题的人发布解决方案

我想起了我的Javascript开发人员的过去

NSMutableArray *nsarray = [NSMutableArray new];
NSArray *array = [[[dct objectForKey:@"tracks"] firstObject] objectForKey:@"foreign_id"];
[nsarray addObject:array];

int len = nsarray.count;
NSMutableArray *var = [[NSMutableArray alloc] init];
for (int i = 0; i < len; i++) {
    [var addObject:nsarray[i]];
}
NSLog(@"solution %@",var);
NSMutableArray*nsarray=[NSMutableArray new];
NSArray*数组=[[dct objectForKey:@“tracks”]firstObject]objectForKey:@“foreign_id”];
[nsarray addObject:array];
int len=nsarray.count;
NSMutableArray*var=[[NSMutableArray alloc]init];
对于(int i=0;i

谢谢你的帮助

查看NSMutableArray的文档。发现此错误:**由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:'-[\uu NSCFString count]:未识别的选择器发送到实例我不知道为什么字符串检测到数组。。。我添加了代码@Isaac Rodríguez:可能您传递的值不是数组,只需记录并验证它们,或者设置调试点并进行检查。请稍微解释一下您的答案或注释,不要只是发布代码。@Isaac Rodríguez:以前代码中有一个输入错误,现在就试试这段代码。
NSMutableArray *nsarray = [NSMutableArray new];
NSArray *array = [[[dct objectForKey:@"tracks"] firstObject] objectForKey:@"foreign_id"];
[nsarray addObject:array];

int len = nsarray.count;
NSMutableArray *var = [[NSMutableArray alloc] init];
for (int i = 0; i < len; i++) {
    [var addObject:nsarray[i]];
}
NSLog(@"solution %@",var);