편집 : 나는 이것을 가지고이 배열에하지만 내 새로운 데이터의 새로운 datas를 둘 필요가replaceObjectAtIndex NSMutableArray를
<?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>
소피는 이미 내 배열에 존재한다
나는 그것이 작동하지만 내 모든 datas 모든 인덱스에 대체되었습니다 :그래서 내가 중복 datas를 찾아 내가 replaceObjectAtindex를 사용하려고 할 때
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];
}
}
를 교체하려고이 작업을 수행. 그래서 나는 좋은 색인을 찾지 못했다는 것을 알고 있습니다. 어떻게 찾을 수 있습니까?
들으
여기서 무엇을하려고합니까? 어떤 이유로 든 루핑, 복사 및 교체하고 있습니다. 루프 내에서 배열 전체를 파일로 작성하지 않아야합니다. – bryanmac
모든 인덱스에 대해 for 루프가 반복됩니다. "좋은 지표"가 무엇인지 명확하게 설명해 주시겠습니까? – WolfLink
예, 알고 있습니다. Wolflink. 하지만 난 내 배열에 문자열을 찾아 새로운 열쇠로 교체 루프가 필요합니다. – XcodeMania