Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在NSMutableDictionary中保存具有相同键的多个值,然后将字典存储在NSMutableArray中_Ios_Nsmutablearray_Nsmutabledictionary - Fatal编程技术网

Ios 在NSMutableDictionary中保存具有相同键的多个值,然后将字典存储在NSMutableArray中

Ios 在NSMutableDictionary中保存具有相同键的多个值,然后将字典存储在NSMutableArray中,ios,nsmutablearray,nsmutabledictionary,Ios,Nsmutablearray,Nsmutabledictionary,我知道这个问题已经被问过很多次了,但是没有得到答案,或者我可能不明白这就是为什么我要发布这个问题 for (int web=0; web<[web_arr count]; web++) { AdditionalBookmark *web_book=[[AdditionalBookmark alloc]init]; UITextField *txtNam = (UITextField*)[self.view viewWithTag:1100+web]; NSStri

我知道这个问题已经被问过很多次了,但是没有得到答案,或者我可能不明白这就是为什么我要发布这个问题

for (int web=0; web<[web_arr count]; web++) {
    AdditionalBookmark *web_book=[[AdditionalBookmark alloc]init];

    UITextField *txtNam = (UITextField*)[self.view viewWithTag:1100+web];
    NSString *txtName = txtNam.text;
    UITextField *txtLin = (UITextField*)[self.view viewWithTag:1200+web];
    NSString *txtLink = txtLin.text;


       if ((txtName && txtName.length > 0)||(txtLink && txtLink.length > 0))
       {
        web_book.additionalBookmark_Name = txtName;
        web_book.additionalBookmark_Link= txtLink;
        web_book.contactDetails_Id=self.contactDetailsinfo.contactDetailsId;
        web_book.additionalBookmark_Id=[[[web_arr objectAtIndex:web] valueForKey:@"WeblinkId"] intValue];


        [dictWebLinks setObject:txtName forKey:@"WeblinkName"];
        [dictWebLinks setObject:txtLink forKey:@"WeblinkUrl"];

        [arrForWebLinks addObject:dictWebLinks];

    }
    [db updateIntoAdditionalBookmarkWithObject:web_book];
}
[dictUpdate setObject:arrForWebLinks forKey:@"Weblink"];
for(intweb=0;web 0)| |(txtLink&&txtLink.length>0))
{
web_book.additionalBookmark_Name=txtName;
web\u book.additionalBookmark\u Link=txtLink;
web\u book.contactDetails\u Id=self.contactDetailsinfo.contactDetailsId;
web_book.additionalBookmark_Id=[[web_arr objectAtIndex:web]valueForKey:@“WeblinkId”]intValue];
[dictWebLinks设置对象:txtName forKey:@“WeblinkName”];
[dictWebLinks设置对象:txtLink forKey:@“WeblinkUrl”];
[arrForWebLinks添加对象:dictWebLinks];
}
[db updateIntoAdditionalBookmarkWithObject:web_book];
}
[dictUpdate setObject:arrForWebLinks-forKey:@“Weblink”];
我面临的问题是假设数组中有两个项

Printing description of web_arr:
<__NSArrayM 0x170e4db60>(
{
WeblinkId = 9;
WeblinkName = Hdhd;
WeblinkUrl = "ie.comh";
},
{
WeblinkId = 10;
WeblinkName = Hd;
WeblinkUrl = "nd.com";
}
)
打印web\u arr的说明:
(
{
WeblinkId=9;
WeblinkName=hdhdhd;
WeblinkUrl=“ie.comh”;
},
{
WeblinkId=10;
WeblinkName=Hd;
WeblinkUrl=“nd.com”;
}
)
我得到的信息如下:

Printing description of arrForWebLinks:
<__NSArrayM 0x170e4db30>(
{
WeblinkName = Hd;
WeblinkUrl = "nd.com";
},
{
WeblinkName = Hd;
WeblinkUrl = "nd.com";
}
)
打印arrForWebLinks的说明:
(
{
WeblinkName=Hd;
WeblinkUrl=“nd.com”;
},
{
WeblinkName=Hd;
WeblinkUrl=“nd.com”;
}
)
dictionary正在替换仅包含最新值的同一个键的值,我如何管理以与web\u arr中相同的格式保存这些值。
任何帮助都是值得欣赏的。

您正在反复向数组添加相同的字典:

[dictWebLinks setObject:txtName forKey:@"WeblinkName"];
[dictWebLinks setObject:txtLink forKey:@"WeblinkUrl"];

[arrForWebLinks addObject:dictWebLinks];
您每次都需要创建一个新的:

[arrForWebLinks addObject:@{
    @"WeblinkName" : txtName,
    @"WeblinkUrl"  : txtLink
}];
(并删除
dictWebLinks