0

私はこのコードを持っています

@implementation LevelManager {
    NSArray * levelPacks;
}

- (id)init {
    if ((self = [super init])) {
        NSString *file = [[NSBundle mainBundle] pathForResource:@"Levels" ofType:@"plist"];
        levelPacks = [NSArray arrayWithContentsOfFile:file];
    }
}

と呼ばれる次のplistファイルを読み取りますLevels.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">
<array>
    <dict>
        <key>PackName</key>
        <string>First Pack</string>
        <key>Levels</key>
        <array>
            <dict>
                <key>Name</key>
                <string>1</string>
                <key>Time</key>
                <integer>60</integer>
                <key>ScoreBronze</key>
                <integer>20</integer>
                <key>ScoreSilver</key>
                <integer>25</integer>
                <key>ScoreGold</key>
                <integer>30</integer>
                <key>Fish</key>
                <dict>
                    <key>OrangeFish</key>
                    <dict>
                        <key>Rarity</key>
                        <integer>1</integer>
                        <key>MinTime</key>
                        <integer>0</integer>
                    </dict>
                </dict>
            </dict>
            <dict>
                <key>Name</key>
                <string>2</string>
                <key>Time</key>
                <integer>60</integer>
                <key>ScoreBronze</key>
                <integer>25</integer>
                <key>ScoreSilver</key>
                <integer>30</integer>
                <key>ScoreGold</key>
                <integer>35</integer>
                <key>Fish</key>
                <dict>
                    <key>OrangeFish</key>
                    <dict>
                        <key>Rarity</key>
                        <integer>4</integer>
                        <key>MinTime</key>
                        <integer>0</integer>
                    </dict>
                    <key>PurpleFish</key>
                    <dict>
                        <key>Rarity</key>
                        <integer>2</integer>
                        <key>MinTime</key>
                        <integer>10</integer>
                    </dict>
                </dict>
            </dict>
        </array>
    </dict>
    <dict>
        <key>PackName</key>
        <string>Second Pack</string>
        <key>Levels</key>
        <array>
            <dict>
                <key>Name</key>
                <string>1</string>
                <key>Time</key>
                <integer>60</integer>
                <key>ScoreBronze</key>
                <integer>20</integer>
                <key>ScoreSilver</key>
                <integer>25</integer>
                <key>ScoreGold</key>
                <integer>30</integer>
                <key>Fish</key>
                <dict>
                    <key>OrangeFish</key>
                    <dict>
                        <key>Rarity</key>
                        <integer>5</integer>
                        <key>MinTime</key>
                        <integer>0</integer>
                    </dict>
                    <key>PurpleFish</key>
                    <dict>
                        <key>Rarity</key>
                        <integer>3</integer>
                        <key>MinTime</key>
                        <integer>0</integer>
                    </dict>
                    <key>YellowFish</key>
                    <dict>
                        <key>Rarity</key>
                        <integer>1</integer>
                        <key>MinTime</key>
                        <integer>0</integer>
                    </dict>
                </dict>
            </dict>
        </array>
    </dict>
</array>
</plist>

これは、コードを iOS 7 に更新するまで機能し、現在は 2 つのアイテムの配列を取得し、両方ともinvalid.

xcodeで変数を検査すると、エラーが表示されます

(<invalid>) [0] = <error: expected ']'
error: 1 errors parsing expression
>

これがなぜなのか誰か知っていますか?

4

2 に答える 2

1

これは非常に古い Xcode のバグのようです。NSLog ダンプを実行して、値があるかどうかを確認します。このインスペクタは、Xcode 6.1 まで機能しません! レーダーを作ります。

于 2014-11-10T21:52:16.817 に答える