РЕДАКТИРОВАТЬ: это мой полный код:
У меня есть массив, как выглядит так:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
<dict>
<key>destinataire</key>
<string>david</string>
<key>expediteur</key>
<string>sophie</string>
<key>idMessage</key>
<string>1729</string>
<key>message</key>
<string>ok a plus</string>
<key>photoExp</key>
<string>http://photos/hbrJUlrTgj.jpg</string>
<key>statusE</key>
<string>1</string>
</dict>
<dict>
<key>destinataire</key>
<string>david</string>
<key>expediteur</key>
<string>max</string>
<key>idMessage</key>
<string>1730</string>
<key>message</key>
<string>ok a plus</string>
<key>photoExp</key>
<string>http:///photos/4xlWoAHT8b.jpg</string>
<key>statusE</key>
<string>1</string>
</dict>
<dict>
<key>destinataire</key>
<string>david</string>
<key>expediteur</key>
<string>michel</string>
<key>idMessage</key>
<string>1731</string>
<key>message</key>
<string>ok a plus</string>
<key>photoExp</key>
<string>http:///photos/TR7oO6O8Z8.jpg</string>
<key>statusE</key>
<string>1</string>
</dict>
</array>
</plist>
Мне нужно поместить новые данные в этот массив, но в моих новых данных у меня есть это:
<dict>
<key>destinataire</key>
<string>david</string>
<key>expediteur</key>
<string>sophie</string>
<key>idMessage</key>
<string>1729</string>
<key>message</key>
<string>ok a plus</string>
<key>photoExp</key>
<string>http://photos/hbrJUlrTgj.jpg</string>
<key>statusE</key>
<string>1</string>
</dict>
Софи уже существует в моем массиве, поэтому мне нужно найти индекс в моем массиве, где Софи, как представляется, помещает мои новые данные
так что я делаю это, чтобы попытаться найти дубликаты данных и заменить их
if ([[allMessageArray valueForKey:@"expediteur"]containsObject:[dicoChat2 objectForKey:@"expediteur"]] )
{
for( int i=0;i<[allMessageArray count];i++)
{
NSDictionary *dicoChat22 = [allMessageArray objectAtIndex:i];
NSMutableDictionary * datas2= [[NSMutableDictionary alloc]init];
[datas2 setObject:[dicoChat22 objectForKey:@"destinataire"] forKey:@"destinataire"];
[datas2 setObject:[dicoChat22 objectForKey:@"expediteur"] forKey:@"expediteur"];
[datas2 setObject:[dicoChat22 objectForKey:@"photoExp"] forKey:@"photoExp"];
[datas2 setObject:[dicoChat22 objectForKey:@"statusE"] forKey:@"statusE"];
[datas2 setObject:[dicoChat22 objectForKey:@"idMessage"] forKey:@"idMessage"];
[allMessageArray replaceObjectAtIndex:i withObject:datas2];
[allMessageArray writeToFile:datAllString atomically:YES];
}
}
когда я пытаюсь использовать replaceObjectAtindex: он работает, но все мои данные заменены в каждом индексе.
так что я знаю, что не нашел хорошего индекса
как я могу это найти?
ТНХ