Ios 在一个数组中添加三个或更多
我有一个nsarray的输出,比如: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 *
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);