2012-02-01 6 views
1

글쎄, 나는 게임이 끝나면 나에게 약간의 게임을했다. 3 데이터.Plist를 올바르게 정렬하는 방법은 무엇입니까?

점수, 동전 및 레벨. 여기에 순위를 더했습니다. 내가 좋아하는 것

<?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"> 
<dict> 
<key>entry1</key> 
<dict> 
    <key>rank</key> 
    <string>1</string> 
    <key>level</key> 
    <string>9</string> 
    <key>score</key> 
    <string>1999</string> 
    <key>coins</key> 
    <string>764</string> 
</dict> 
<key>entry2</key> 
<dict> 
    <key>rank</key> 
    <string>2</string> 
    <key>level</key> 
    <string>8</string> 
    <key>score</key> 
    <string>1799</string> 
    <key>coins</key> 
    <string>375</string> 
</dict> 
<key>entry3</key> 
<dict> 
    <key>rank</key> 
    <string>3</string> 
    <key>level</key> 
    <string>6</string> 
    <key>score</key> 
    <string>1599</string> 
    <key>coins</key> 
    <string>894</string> 
</dict> 
<key>entry4</key> 
<dict> 
    <key>rank</key> 
    <string>4</string> 
    <key>level</key> 
    <string>3</string> 
    <key>score</key> 
    <string>799</string> 
    <key>coins</key> 
    <string>523</string> 
</dict> 
</dict> 
</plist> 

이를 정렬 할 수 있도록 : 그래서

(필자는 점수에 따라 순위 번호를 변경하는 방법을 알아낼 때까지 어떤 수동 순간에 이루어집니다), 여기에 PLIST입니다 랭크 또는 동전, 또는 레벨별로 패널을 높게 평가하십시오.

나는 그것을 달성하기 위해 많은 일을 시도했지만, 내가 원하는 것은 아무것도하지 않는다.

누군가 내게 조언을 해줄 수 있다면, 나는 매우 감사 할 것입니다.

미리 감사드립니다.

답변

2

속성 목록은 저장소에있는 데이터의 형식입니다. 정렬하려면 다음을 수행해야합니다.

  1. 데이터를 적절한 구조로 읽습니다.
  2. 구조에서 데이터를 정렬하십시오.
  3. 구조체를 다시 속성 목록에 씁니다.

적절한 구조를 사용하는 것이 중요합니다. 속성 목록은 두 종류의 컨테이너 객체를 지원합니다 : 배열과 사전. 배열은 정렬 된 목록입니다. 사전은 키/값 쌍의 정렬되지 않은 목록입니다. 주문을 나타내는 키와 함께 지금 바로 사전을 사용하고있는 것 같습니다. 배열을 사용하도록 저장소 체계를 변경해야합니다. 그런 다음 스코어에 따라 배열을 정렬하고 파일에 써낼 수 있습니다.

+0

오케이. 그러나 이것이 단순히 "배열"이라면 스코어를 예를 들어 동전이나 레벨과 연결하는 방법은 무엇입니까? 데이터를 되찾고 싶을 때 값이 필요하지만 연결되어있는 다른 모든 값이 필요합니다. – user1183716

+1

@ user1183716 : 이미 높은 점수에 관한 모든 정보가 포함 된 개별 사전이 있습니다. 원하는 순서대로 배열에 저장하십시오 (예 : 점수 또는 동전 등으로 정렬). – dreamlax

+1

@ user1183716 각 게임은 여전히 ​​사전이어야하지만, 당신은 사전과 같은 * 사전 *을 원합니다. 당신이 보여준 샘플 plist는 최상위 레벨에 "entry1", "entry2", "entry3"키가있는 사전을 가지고 있으며, 각 키의 값은 다른 사전입니다. 모든 사전을 배열에 넣고 배열을 각각의 점수에 따라 정렬하고 파일에 씁니다. 끝난. – Caleb

관련 문제