我是iPhone的新手,我想用每个元素的名称为NSMutableArray添加元素 我为键创建了一个MutableArray,然后为从我们从名为Pages的对象获取它们的元素创建了其他数组。
我写了以下代码
NSMutableArray *myArray;
NSMutableArray *arrayKey = [[NSMutableArray alloc] initWithObjects:@"b_pag_id", @"b_pag_bo_id", @"b_pag_num", @"b_pag_note", @"b_page_mark", @"b_page_stop", @"b_pag_user_id", nil];
for (int x=0; x<[pages count]; x++) {
Pages *myPages = (Pages *)[self.pages objectAtIndex:x];
NSString *b_pag_id2 = [NSString stringWithFormat:@"%d",myPages.b_pag_id];
NSString *b_pag_bo_id2 = [NSString stringWithFormat:@"%d",myPages.b_pag_bo_id];
NSString *b_pag_num2 = [NSString stringWithFormat:@"%d",myPages.b_pag_num];
NSString *b_pag_note2 = myPages.b_pag_note;
NSString *b_page_mark2 = [NSString stringWithFormat:@"%d",myPages.b_page_mark];
NSString *b_page_stop2 = [NSString stringWithFormat:@"%d",myPages.b_page_stop];
NSString *b_pag_user_id2 = [NSString stringWithFormat:@"%d",myPages.b_pag_user_id];
NSMutableArray *arrayValue = [[NSMutableArray alloc] initWithObjects:b_pag_id2, b_pag_bo_id2, b_pag_num2, b_pag_note2, b_page_mark2, b_page_stop2, b_pag_user_id2, nil];
NSDictionary *theReqDictionary = [NSDictionary dictionaryWithObjects:arrayValue forKeys:arrayKey];
myArray = [NSMutableArray arrayWithObjects:theReqDictionary,nil];
}
NSLog(@"array size: %d", [myArray count]);
我想将每个元素添加到其键中,例如 element(b_pag_id2)其键(b_pag_id)..等 这是正确的吗 ??或者怎么做? 考虑NSLog(@“数组大小:%d”,[myArray count]);给我1,我的元素的大小是14
答案 0 :(得分:2)
在循环之前,你需要初始化aray
NSMutableArray *myArray = [NSMutableArray array];
在循环内部替换以下内容:
myArray = [NSMutableArray arrayWithObjects:theReqDictionary,nil];
带
[myArray addObject:theReqDictionary];
问题是你在每个循环迭代中创建一个包含1个字典的新数组。相反,您需要初始化数组并逐个添加值。
答案 1 :(得分:0)
每次通过循环,您都会为myArray
创建一个只有一个元素的新数组。您应该在循环之前初始化一个空的NSMutableArray,然后只需将新对象添加到它,而不是使用arrayWithObjects:
创建myArray
..
答案 2 :(得分:0)
这里我举一个简短的例子,我希望这会对你有所帮助。 看到这段代码: -
NSMutableArray *arrayValue = [[NSMutableArray alloc]initWithObjects:@"Value1",@"Value2",@"Value3", nil];
NSMutableArray *arrayKey = [[NSMutableArray alloc]initWithObjects:@"1",@"2",@"3", nil];
NSMutableDictionary *dic = [[NSMutableDictionary alloc]init];
for(int i=0;i<3;i++)
{
[dic setObject:[arrayValue objectAtIndex:i] forKey:[arrayKey objectAtIndex:i]];
}
//and you can see this by printing it using nslog-
NSLog(@"%@",[dic valueForKey:@"1"]);
谢谢!!!